Isi kandungan:

Dispenser Anjing Automatik: 10 Langkah
Dispenser Anjing Automatik: 10 Langkah

Video: Dispenser Anjing Automatik: 10 Langkah

Video: Dispenser Anjing Automatik: 10 Langkah
Video: Ekstro Smart Pet Feeder - Wifi Dispenser Makan Otomatis Anjing Kucing 2024, Julai
Anonim
Dispenser Anjing Automatik
Dispenser Anjing Automatik
Dispenser Anjing Automatik
Dispenser Anjing Automatik
Dispenser Anjing Automatik
Dispenser Anjing Automatik

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 Pi
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

Sensor Led dan Cahaya
Sensor Led dan Cahaya
Sensor Led dan Cahaya
Sensor Led dan Cahaya

Mencangkul yang dipimpin

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Perintang 470 ohm dan GND

Memasang sensor cahaya

  1. KELUAR -> GPIO17
  2. VCC -> 3.3V
  3. 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

Motor Servo
Motor Servo

Memasang motor servo

  1. KELUAR -> GPIO18
  2. VCC -> 5V
  3. 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

Pembaca RFID RC522
Pembaca RFID RC522

Menghubungkan RFID

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3.3V -> 3.3V
  7. 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

Muatkan Sel HX711
Muatkan Sel HX711

Menyambungkan sel Beban ke papan pemacu HX711

  1. Merah -> E +
  2. Hitam -> E-
  3. Hijau -> A +
  4. Putih -> A-

Menyambungkan sel Beban

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. MERAH -> 3.3V
  4. 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)

LCD (16 * 2)
LCD (16 * 2)

Menyambungkan LCD

  1. RS -> GPIO21
  2. RW -> GND
  3. E-> GPIO20
  4. D0 -> GPIO16
  5. D1 -> GPIO12
  6. D2 -> GPIO6
  7. D3 -> GPIO24
  8. D4 -> GPIO23
  9. D5 -> GPIO26
  10. D6 -> GPIO19
  11. D7 -> GPIO13
  12. VSS -> GND
  13. VDD -> 5V
  14. A -> 5V
  15. K -> GND
  16. 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

Litar Penuh
Litar Penuh

di sini anda boleh menyemak semula sama ada keseluruhan litar betul

Langkah 8: Permulaan Kes

Permulaan Kes
Permulaan Kes
Permulaan Kes
Permulaan Kes
Permulaan Kes
Permulaan Kes
Permulaan Kes
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

Menggabungkannya
Menggabungkannya
Menggabungkannya
Menggabungkannya
Menggabungkannya
Menggabungkannya

Langkah 10: Laman Web

Laman Web
Laman Web
Laman Web
Laman Web
Laman Web
Laman Web
Laman Web
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: