Obsah:

Automatický dávkovač pro psy: 10 kroků
Automatický dávkovač pro psy: 10 kroků

Video: Automatický dávkovač pro psy: 10 kroků

Video: Automatický dávkovač pro psy: 10 kroků
Video: Hoison automatický smart dávkovač krmiva pro psy 2024, Červenec
Anonim
Automatický dávkovač pro psy
Automatický dávkovač pro psy
Automatický dávkovač pro psy
Automatický dávkovač pro psy
Automatický dávkovač pro psy
Automatický dávkovač pro psy

Svým projektem zajišťuji, že když necháte svého psa samotného doma, nikdy nebude bez jídla.

Automatický podavač bude „hacknut“z dávkovače kukuřičných vloček. Dávkovač je zásobník na krmivo pro psy, kolečko ve spodní části bude připojeno k servomotoru, který automaticky vypouští jídlo, když je pelíšek téměř prázdný a když je pes dostatečně blízko. Ve spodní části výdejního stojanu bude připevněna PVC trubička, která krmivo pro psy vhodí pěkně do postýlky. Tento projekt bude mít tedy 3 senzory, z nichž 2 nejsou zahrnuty ve třídě a 1 je aktuátor.

Prvním senzorem je čtečka RFID. Tento senzor kontroluje, když se pes přiblíží k pelíšku. RFID bude začleněn do psího obojku. Pokud si tento senzor všimne, že je pes dostatečně blízko, vyšle signál do druhého senzoru. Druhým senzorem je snímač hmotnosti (není zahrnut ve třídě), který měří jídlo v postýlce, pokud tento senzor zjistí, že je hmotnost příliš nízká, vyšle signál do servomotoru, který nakopne jídlo do postýlky (s potvrzením RFID a snímače hmotnosti). Zkrátka pes dostane jídlo navíc jen tehdy, když je dostatečně blízko pelíšku a když je pelíšek téměř prázdný. Samozřejmě existuje také limit, který si můžete sami nastavit prostřednictvím webového serveru; aby pes nedostal za den příliš mnoho jídla. Třetí senzor je světelný senzor, který osvětluje LED světlomet, když je kolem postýlky příliš tma. Pohonem tedy bude servomotor spojený s kolem v dávkovači.

Tento projekt je určen pro psy, můžete jej použít i pro jiná malá domácí zvířata.

Zásoby

Raspberry Pi 3

Siloměr (1KG)

Zesilovač siloměrů HX711

Mísa na jídlo

Dávkovač obilovin

Dřevo (+ šrouby a šroubovák)

Světelný senzor

Vedený

Čtečka RFID rc522

Propojovací vodiče

16*2 LCD (displej)

Servomotor

5V napájecí adaptér

Odpor 470 ohmů

PVC trubka

Breadbord

Potenciometr

Viděl

Brusný papír

Silikonová pistole

Krok 1: Nastavení Pi

Nastavení Pi
Nastavení Pi

Založit

Abychom mohli začít, musíme nejprve nastavit váš Pi.

Budete potřebovat dvě věci:

- Win32 Disk Imager z

- Obrázek operačního systému Raspbian z

Stáhněte si soubor ZIP a rozbalte jej, kamkoli budete chtít.

Instalace

1. Vyberte svůj obrázek pomocí ikony složky

2. V rozevíracím seznamu vyberte kartu SD

3. Klikněte na zápis

Nyní budeme muset provést nějaké drobné úpravy s některými nastaveními, abychom měli přístup k Pi.

1. Přejděte do spouštěcího adresáře karty SD

2. Otevřete soubor „cmdline.txt“

3. Přidejte ip = 169.254.10.1 Na konec dlouhého řádku textu odděleného mezerou (na stejném řádku).

4. Uložte soubor.

5. Vytvořte soubor s názvem ssh bez přípony ve stejném adresáři

Nyní můžete kartu SD vysunout a vložit do Pi.

Spojovací

Nyní budeme muset nastavit software.

Nejprve zapojte kabel LAN, jeden konec do stolního počítače/notebooku a druhý do počítače Pi.

Nyní spusťte Raspberry Pi.

1. Nainstalujte tmel z

2. Do pole IP zadejte 169.254.10.1.

3. Zkontrolujte, zda je vybrána možnost SSH a zda je vyplněn port 22.

4. Klikněte na otevřít

5. Vyplňte uživatelské jméno: pí

6. Vyplňte heslo: malina

Raspi-config

Spusťte nástroj Raspi-config pomocí:

sudo raspi-config

V kategorii rozhraní povolte následující možnosti

- 1-Wire

- SPI

V kategorii možností spouštění deaktivujte následující možnosti

- Úvodní obrazovka

Nakonec nastavte Desktop/CLI v kategorii možností spuštění na Desktop Autologin.

WiFi

Pro krmítko pro psy potřebujeme mít připojení k wifi, takže se ujistěte, že máte své wifi pověření zavřené.

1. Přejděte do kořenového režimu

sudo -i

2. Vložte tento řádek, ale ujistěte se, že jsou vyplněny SSID a heslo

wpa_passphrase "SSID" "HESLO" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. Zadejte klienta WPA.

Wpa_cli

4. Vyberte rozhraní

Rozhraní wlan0

5. Znovu načtěte konfiguraci

Přenastavit

Ujistěte se, že jste připojeni správně, zadáním IP a zkontrolujte, zda máte IP na rozhraní WLAN0.

Balíčky

Nyní, když jsme připojeni k internetu, budeme muset nainstalovat nějaké balíčky.

Nejprve budeme muset aktualizovat seznamy balíčků pro ten nejnovější.

sudo apt aktualizace

Krajta

Donutíme Raspbian používat Python 3

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install/usr/bin/python python/usr/bin/python3 2

MariaDB

Vložením následujícího řádku nainstalujete databázi.

sudo apt nainstalovat mariadb-server

Poté budeme muset zajistit naši instalaci.

mysql_secure_installation

Požádá nás o aktuální heslo uživatele root, protože ho nemáme, stačí stisknout Enter.

Dále se ptá, zda chceme heslo typu root v y, protože ho chceme.

Pro další otázky stačí zadat Y.

Dále vytvoříme uživatele, kterého budeme moci pro zrcadlo použít.

Zadejte shell mysql takto:

- Povýšme se na root

Sudo -i

- Zadejte shell mysql

MySQL

- Nahraďte svým vlastním uživatelským jménem a totéž pomocí

udělit všechna oprávnění *. * ''@'%' označené '';

- udělit všechna oprávnění *. * pro ''@'%' označené '';

Dále přidáme naši databázi.

Webový server Apache

Chcete -li nainstalovat webový server, spusťte následující řádek.

sudo apt install apache2 -y

Balíčky Pythonu

Tyto balíčky nainstalujeme

- Baňka

- Baňky-Cors

- Flask-MySQL

- Flask-SocketIO

- PyMySQL

- Gevent

- Gevent-websocket

-

- Python-socketio

- Žádosti

- Wsaccel

- Ujsone

Tím, že dělá

pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio requests wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

Krok 2: LED a světelný senzor

LED a světelný senzor
LED a světelný senzor
LED a světelný senzor
LED a světelný senzor

Zapojení LED

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Rezistor 470 ohmů a GND

Zapojení světelného senzoru

  1. OUT -> GPIO17
  2. VCC -> 3,3 V.
  3. GND -> GND

Nyní můžeme vyzkoušet, zda náš LED a světelný senzor funguje s tímto malým skriptem

importovat RPi. GPIO jako GPIO GPIO.setmode (GPIO. BCM)

GPIO.setup (15, GPIO. OUT)

GPIO.setup (17, GPIO. IN)

zkuste: while True:

pokud GPIO.input (17) == 0:

GPIO.output (15, GPIO. HIGH)

pokud GPIO.input (17) == 1:

GPIO.output (15, GPIO. LOW)

kromě KeyboardInterrupt: GPIO.cleanup ()

Krok 3: Servomotor

Servomotor
Servomotor

Zapojení servomotoru

  1. OUT -> GPIO18
  2. VCC -> 5V
  3. GND -> GND

Nyní můžeme vyzkoušet, zda náš LED a světelný senzor funguje s tímto malým skriptem

importovat RPi. GPIO jako čas GPIOimportu

GPIO.setmode (GPIO. BCM)

GPIO.setup (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

p.start (12.5)

Snaž se:

zatímco pravda:

p. ChangeDutyCycle (12.5)

time.sleep (1)

p. ChangeDutyCycle (2.5)

time.sleep (1)

kromě KeyboardInterrupt:

p.stop ()

GPIO.cleanup ()

Krok 4: Čtečka RFID RC522

Čtečka RFID RC522
Čtečka RFID RC522

Zapojení RFID

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3,3 V -> 3,3 V.
  7. GND -> GND

Nyní můžeme vyzkoušet, zda naše čtečka RFID pracuje s tímto malým skriptem

importujte RPi. GPIO jako GPIO

z mfrc522 importovat SimpleMFRC522

čtečka = SimpleMFRC522 ()

text = vstup ('Nová data:')

tisk („Nyní umístěte značku k zápisu“)

reader.write (text)

tisk („písemný“)

Krok 5: Načtěte buňku HX711

Snímač zatížení HX711
Snímač zatížení HX711

Připojení buňky zatížení k desce ovladače HX711

  1. Červená -> E+
  2. Černá -> E-
  3. Zelená -> A+
  4. Bílá -> A-

Zapojení zatěžovací buňky

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. ČERVENÁ -> 3,3V
  4. GND -> GND

Nyní můžeme vyzkoušet, zda naše zatěžovací buňka funguje s tímto malým skriptem

import RPi. GPIO jako GPIOimport čas importu sys z klasses. HX711 import HX711

def cleanAndExit (): print ("Cleaning…") GPIO.cleanup () print ("Bye!") sys.exit ()

hx = HX711 (22, 27)

hx.set_reading_format ("LSB", "MSB")

hx.set_reference_unit (2167)

hx.reset ()

hx.tare ()

zatímco pravda:

Snaž se:

val = max (0, int (hx.get_weight (5)))

tisk (val)

hx.power_down ()

hx.power_up ()

time.sleep (0,5)

kromě (KeyboardInterrupt, SystemExit): cleanAndExit ()

Krok 6: LCD (16*2)

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

Zapojení 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 -> střední potenciometr

Nyní můžeme vyzkoušet, zda naše LCD obrazovka funguje s tímto malým skriptem

importujte Adafruit_CharLCD jako 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')

Krok 7: Plný obvod

Plný obvod
Plný obvod

zde můžete znovu zkontrolovat, zda je celý obvod správný

Krok 8: Začátek případu

Začátek případu
Začátek případu
Začátek případu
Začátek případu
Začátek případu
Začátek případu
Začátek případu
Začátek případu

Jako zásobník na krmivo pro psy jsem použil dávkovač kukuřičných vloček

Připojil jsem kolo v dávkovači k mému servomotoru

Nyní mohu ovládat kolo pomocí svého servomotoru a vypouštět jídlo z nádrže

Na konci nádrže je připojena PVC trubka, která jídlo vhodí do postýlky

Jako opláštění používám dřevo

Krok 9: Dát to dohromady

Dát to dohromady
Dát to dohromady
Dát to dohromady
Dát to dohromady
Dát to dohromady
Dát to dohromady

Krok 10: Web

Webová stránka
Webová stránka
Webová stránka
Webová stránka
Webová stránka
Webová stránka
Webová stránka
Webová stránka

Nyní náš stroj funguje, potřebujeme dostat webové stránky na pi. Nyní je vše v provozu a běží několik instrukcí, jak web funguje.

Pí můžete připojit k wifi připojením kabelu HDMI a aktivovat tímto způsobem

První stránka je domovská stránka, zde můžete vidět:

  • Informace o světle v reálném čase
  • Informace v reálném čase o jídle, které zbylo v misce
  • Můžeš upustit jídlo
  • Informace o psu

Druhá stránka je stránka pro úpravy, zde můžete upravovat:

  • jméno vašeho mazlíčka
  • věk vašeho mazlíčka
  • váha vašeho mazlíčka
  • fotka vašeho mazlíčka

Třetí stránka je stránka historie, zde můžete vidět:

  • když se rozsvítilo světlo
  • když pes jedl
  • když jídlo kleslo

Čtvrtá stránka je stránka nastavení, zde můžete upravovat:

  • když jídlo musí klesnout
  • množství jídla, které má klesnout
  • max. jídlo/den
  • světlo

Doporučuje: