Isi kandungan:
- Bekalan
- Langkah 1: Persediaan Pi
- Langkah 2: Sensor Led dan Cahaya
- Langkah 3: Motor Servo
- Langkah 4: Pembaca RFID RC522
- Langkah 5: Muatkan Cell HX711
- Langkah 6: LCD (16 * 2)
- Langkah 7: Litar Penuh
- Langkah 8: Permulaan Kes
- Langkah 9: Menyatukannya
- Langkah 10: Laman Web
Video: Dispenser Anjing Automatik: 10 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Dengan projek saya, saya memastikan bahawa apabila anda meninggalkan anjing anda sendirian di rumah, dia tidak akan mendapat makanan.
Pengumpan automatik akan "digodam" dari dispenser cornflakes. Dispenser adalah tempat simpanan makanan anjing, roda di bahagian bawah akan disambungkan ke motor servo yang secara automatik menjatuhkan makanan ketika buaian hampir kosong dan ketika anjing cukup dekat. Di bahagian bawah dispenser akan ada tiub PVC yang terpasang yang akan menjatuhkan makanan anjing dengan baik ke dalam buaian. Oleh itu, projek ini akan mempunyai 3 sensor, 2 daripadanya tidak diliputi dalam kelas dan 1 daripadanya adalah penggerak.
Sensor pertama ialah pembaca RFID. Sensor ini memeriksa bila anjing itu menghampiri tempat tidur bayi. RFID akan dimasukkan ke dalam kolar anjing. Sekiranya sensor ini menyedari bahawa anjing itu cukup dekat, ia akan menghantar isyarat ke sensor kedua. Sensor kedua adalah sensor berat (tidak termasuk dalam kelas) yang mengukur makanan di dalam buaian, jika sensor ini mengesan bahawa beratnya terlalu rendah, ia akan menghantar isyarat kepada motor servo yang akan menjatuhkan makanan ke dalam buaian (dengan pengesahan RFID dan sensor berat). Ringkasnya, anjing hanya mendapat makanan tambahan apabila dia cukup dekat dengan buaian dan ketika buaian hampir kosong. Sudah tentu ada juga had yang boleh anda tetapkan melalui pelayan web; supaya anjing itu tidak mendapat makanan terlalu banyak setiap hari. Sensor ketiga adalah sensor cahaya yang menerangi lampu sorot LED ketika terlalu gelap di sekitar buaian. Oleh itu, penggerak akan menjadi motor servo yang disambungkan ke roda di dispenser.
Projek ini bertujuan untuk anjing, anda juga boleh menggunakannya untuk haiwan peliharaan kecil yang lain.
Bekalan
Raspberry Pi 3
Sel beban (1KG)
Penguat sel beban HX711
Mangkuk makanan
Dispenser bijirin
Kayu (+ skru dan pemutar skru)
Sensor cahaya
Diketuai
Pembaca RFID rc522
Wayar pelompat
LCD 16 * 2 (paparan)
Motor servo
Penyesuai kuasa 5V
Perintang 470 Ohm
Tiub PVC
Breadbord
Potensiometer
Melihat
Kertas pengamplasan
Pistol silikon
Langkah 1: Persediaan Pi
Persediaan
Untuk memulakan, pertama-tama kita perlu menyiapkan Pi anda.
Anda memerlukan dua perkara:
- Win32 Disk Imager dari
- Imej OS Raspbian dari
Muat turun fail ZIP dan ekstrak ke mana sahaja yang anda mahukan.
Pemasangannya
1. Pilih gambar anda melalui ikon folder
2. Pilih kad SD anda melalui menu lungsur
3. Klik tulis
Sekarang kita perlu melakukan beberapa gangguan tambahan dengan beberapa tetapan sehingga kita dapat mengakses Pi.
1. Pergi ke direktori but kad SD
2. Buka fail "cmdline.txt"
3. Tambahkan ip = 169.254.10.1 Pada akhir baris panjang teks dipisahkan dengan spasi (pada baris yang sama).
4. Simpan fail.
5. Buat fail bernama ssh tanpa perluasan dalam direktori yang sama
Sekarang anda boleh mengeluarkan kad SD dan memasukkannya ke dalam Pi anda.
Menyambung
Sekarang kita perlu menyediakan perisian.
Pasang dahulu kabel LAN, satu hujung pada desktop / komputer riba anda dan yang lain pada Pi anda.
Sekarang but Raspberry Pi.
1. Pasang Putty dari
2. Masukkan 169.254.10.1 di kotak IP.
3. Pastikan SSH dipilih dan port 22 diisi.
4. Klik terbuka
5. Isi nama pengguna: pi
6. Isikan kata laluan: raspberry
Raspi-konfigurasi
Buka utiliti Raspi-config dengan menggunakan:
sudo raspi-config
Aktifkan pilihan berikut dalam kategori antara muka
- 1-Kawat
- SPI
Lumpuhkan pilihan berikut dalam kategori pilihan but
- Skrin percikan
Terakhir tetapkan tetapan Desktop / CLI dalam kategori pilihan but ke Desktop Autologin.
WiFi
Untuk pengumpan anjing, kami perlu mempunyai sambungan wifi, jadi pastikan anda mempunyai kelayakan wifi anda.
1. Pergi ke mod root
sudo -i
2. Tampal baris ini tetapi pastikan bahawa SSID dan Kata Laluan diisi
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Masukkan Pelanggan WPA.
Wpa_cli
4. Pilih antara muka
Antara muka wlan0
5. Muat semula konfigurasi
Susun semula
Pastikan anda tersambung dengan betul dengan menaip ip a dan melihat apakah anda mempunyai IP pada antara muka WLAN0.
Pakej
Setelah kita tersambung ke internet, kita perlu memasang beberapa pakej.
Mula-mula kita perlu memuat semula senarai pakej untuk yang terbaru.
sudo apt kemas kini
Python
Kami akan memaksa Raspbian menggunakan Python 3
kemas kini-alternatif - pasang / usr / bin / python python /usr/bin/python2.7 1
kemas kini-alternatif - pasang / usr / bin / python python / usr / bin / python3 2
MariaDB
Tampal baris berikut untuk memasang pangkalan data.
sudo apt pasang mariadb-server
Maka kita perlu memastikan pemasangan kita selamat.
pemasangan mysql_secure_
Ini akan meminta kata laluan root semasa kerana kami tidak mempunyai satu hanya tekan enter.
Selanjutnya ia bertanya sama ada kita mahukan kata laluan root dalam y kerana kita menginginkannya.
Untuk soalan seterusnya masukkan Y.
Selanjutnya kita akan membuat pengguna yang akan dapat kita gunakan untuk cermin.
Masukkan shell mysql dengan melakukan:
- Naikkan diri kita ke akar umbi
Sudo -i
- Masukkan shell mysql
Mysql
- Ganti dengan nama pengguna anda sendiri dan sama dengan
berikan semua hak istimewa pada *. * kepada '' @ '%' yang dikenal pasti oleh '';
- berikan semua hak istimewa pada *. * kepada '' @ '%' yang dikenal pasti oleh '';
Seterusnya kami akan menambah pangkalan data kami.
Pelayan Web Apache
Untuk memasang Server Web jalankan baris di bawah.
sudo apt install apache2 -y
Pakej Python
Kami akan memasang pakej ini
- Kelalang
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Memberi
- Gevent-websocket
-
- Python-socketio
- Permintaan
- Wsaccel
- Ujson
Dengan melakukan
pip memasang Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket gatplib2 python-socketio permintaan wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Langkah 2: Sensor Led dan Cahaya
Mencangkul yang dipimpin
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Perintang 470 ohm dan GND
Memasang sensor cahaya
- KELUAR -> GPIO17
- VCC -> 3.3V
- GND -> GND
Sekarang kita boleh menguji apakah sensor dipimpin dan cahaya kita berfungsi dengan skrip kecil ini
import RPi. GPIO sebagai GPIO GPIO.setmode (GPIO. BCM)
GPIO.setup (15, GPIO. OUT)
GPIO.setup (17, GPIO. IN)
cuba: selagi Betul:
jika GPIO.input (17) == 0:
GPIO.output (15, GPIO. HIGH)
jika GPIO.input (17) == 1:
GPIO.output (15, GPIO. LOW)
kecuali KeyboardInterrupt: GPIO.cleanup ()
Langkah 3: Motor Servo
Memasang motor servo
- KELUAR -> GPIO18
- VCC -> 5V
- GND -> GND
Sekarang kita boleh menguji apakah sensor dipimpin dan cahaya kita berfungsi dengan skrip kecil ini
import RPi. GPIO sebagai masa GPIOimport
GPIO.setmode (GPIO. BCM)
GPIO.setup (18, GPIO. OUT)
p = GPIO. PWM (18, 50)
hlm (12.5)
cuba:
Walaupun Betul:
p. ChangeDutyCycle (12.5)
masa. tidur (1)
h. ChangeDutyCycle (2.5)
masa. tidur (1)
kecuali KeyboardInterrupt:
henti ()
GPIO.cleanup ()
Langkah 4: Pembaca RFID RC522
Menghubungkan RFID
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3.3V -> 3.3V
- GND -> GND
Sekarang kita boleh menguji apakah pembaca RFID kita berfungsi dengan skrip kecil ini
import RPi. GPIO sebagai GPIO
dari mfrc522 import SimpleMFRC522
pembaca = SimpleMFRC522 ()
teks = input ('Data baru:')
cetak ("Sekarang letakkan teg anda untuk menulis")
pembaca. menulis (teks)
cetak ("Ditulis")
Langkah 5: Muatkan Cell HX711
Menyambungkan sel Beban ke papan pemacu HX711
- Merah -> E +
- Hitam -> E-
- Hijau -> A +
- Putih -> A-
Menyambungkan sel Beban
- DT-> GPIO27
- SCK -> GPIO22
- MERAH -> 3.3V
- GND -> GND
Sekarang kita boleh menguji apakah sel beban kita berfungsi dengan skrip kecil ini
import RPi. GPIO sebagai GPIO import masa import dari klasses. HX711 import HX711
def cleanAndExit (): cetak ("Membersihkan …") GPIO.cleanup () cetak ("Bye!") sys.exit ()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset ()
hx.tare ()
Walaupun Betul:
cuba:
val = maks (0, int (hx.get_weight (5)))
cetak (val)
hx.power_down ()
hx.power_up ()
masa. tidur (0.5)
kecuali (KeyboardInterrupt, SystemExit): cleanAndExit ()
Langkah 6: LCD (16 * 2)
Menyambungkan LCD
- RS -> GPIO21
- RW -> GND
- E-> GPIO20
- D0 -> GPIO16
- D1 -> GPIO12
- D2 -> GPIO6
- D3 -> GPIO24
- D4 -> GPIO23
- D5 -> GPIO26
- D6 -> GPIO19
- D7 -> GPIO13
- VSS -> GND
- VDD -> 5V
- A -> 5V
- K -> GND
- V0 -> pin potentio tengah
Sekarang kita boleh menguji apakah skrin LCD kita berfungsi dengan skrip kecil ini
import Adafruit_CharLCD sebagai LCDlcd_rs = 21
lcd_en = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_columns = 16
lcd_rows = 2
lcd = LCD. Adafruit_CharLCD (lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)
lcd.message ('169.254.10.1')
Langkah 7: Litar Penuh
di sini anda boleh menyemak semula sama ada keseluruhan litar betul
Langkah 8: Permulaan Kes
Saya menggunakan dispenser cornflake sebagai takungan makanan anjing
Saya menyambungkan roda di dispenser ke motor servo saya
Sekarang saya dapat mengawal roda dengan motor servo saya dan menjatuhkan makanan dari takungan
Di hujung takungan terdapat tiub PVC yang disambungkan yang menjatuhkan makanan dengan baik ke dalam buaian
Saya menggunakan kayu sebagai selongsong
Langkah 9: Menyatukannya
Langkah 10: Laman Web
Sekarang mesin kita berfungsi, kita perlu memasukkan laman web ke pi. Sekarang semuanya sudah berjalan dan menjalankan beberapa arahan mengenai cara laman web ini berfungsi.
Anda boleh menghubungkan pi ke wifi dengan memasang kabel HDMI dan aktifkan dengan cara ini
Halaman pertama adalah halaman utama, di sini anda dapat melihat:
- Maklumat masa nyata mengenai cahaya
- Maklumat masa nyata mengenai makanan yang tersisa di dalam mangkuk
- Anda boleh menjatuhkan makanan
- Maklumat mengenai anjing itu
Halaman kedua adalah halaman edit, di sini anda boleh mengedit:
- nama haiwan kesayangan anda
- umur haiwan kesayangan anda
- berat haiwan kesayangan anda
- gambar haiwan kesayangan anda
Halaman ketiga adalah halaman sejarah, di sini anda dapat melihat:
- semasa lampu menyala
- semasa anjing itu telah makan
- apabila makanan telah jatuh
Halaman keempat adalah halaman tetapan, di sini anda dapat mengedit:
- semasa makanan perlu turun
- jumlah makanan yang akan turun
- makanan maksimum / hari
- cahaya
Disyorkan:
Feederrr Anjing Automatik !!: 4 Langkah
Feederrr Anjing Automatik !!: Mudah, Bermanfaat dan Sihat
Pelatih Anjing Anjing: 5 Langkah
Pelatih Anjing Anjing: Menurut AKC, (https://www.akc.org/expert-advice/nutrition/how-many-times-a-day-should-a-dog-eat/) ukuran bahagian makan untuk makanan penting untuk anjing, dan ukuran kotak juga membatasi jumlah makanan yang boleh dimakan anjing sehari, "Doktor haiwan
Pembaling Bola Automatik untuk Anjing: 6 Langkah
Pembaling Bola Automatik untuk Anjing: Kami berdua mempunyai anjing, dan seperti semua orang tahu, anjing boleh menghabiskan seharian bermain bola. Oleh sebab itu, kami memikirkan cara untuk membina pelontar bola automatik
Pengumpan Anjing Automatik: 5 Langkah
Feeder Anjing Automatik: Ini adalah tutorial langkah demi langkah tentang cara membuat feeder anjing automatik menggunakan Arduino. Ini sangat sesuai jika anda berada di luar rumah sepanjang hari. Daripada anjing anda harus menunggu sepanjang hari untuk mendapatkan makanan, atau meminta anda pulang ke rumah untuk memakannya, peranti ini
Catapult Automatik untuk Melemparkan Makanan Haiwan Peliharaan (anjing, Kucing, Ayam, dll), Baling Baling dan Banyak Lagi !: 4 Langkah (dengan Gambar)
Catapult Automatik untuk Melemparkan Makanan Haiwan Peliharaan (anjing, Kucing, Ayam, dll), Bola Baling dan Banyak Lagi!: Halo dan selamat datang di Instructable pertama saya! Anjing kami MENYUKAI makanannya, dia akan memakan semuanya dalam beberapa saat. Saya telah merancang cara untuk melambatkannya, dari bola dengan makanan di dalam hingga membuangnya ke halaman belakang. Hebatnya, dia