Tartalomjegyzék:

Automatikus kutyaadagoló: 10 lépés
Automatikus kutyaadagoló: 10 lépés

Videó: Automatikus kutyaadagoló: 10 lépés

Videó: Automatikus kutyaadagoló: 10 lépés
Videó: 10 LENYŰGÖZŐ DOLOG ✔ Amit NEM TUDTÁL a Saját Testedről! [LEGJOBB] 2024, Július
Anonim
Automatikus kutyaadagoló
Automatikus kutyaadagoló
Automatikus kutyaadagoló
Automatikus kutyaadagoló
Automatikus kutyaadagoló
Automatikus kutyaadagoló

A projektemmel biztosítom, hogy amikor egyedül hagyja a kutyáját otthon, soha nem marad étel nélkül.

Az automatikus adagoló egy kukoricapehely -adagolóból lesz "feltörve". Az adagoló a kutyaeledel tárolója, az alján lévő kerék egy szervomotorhoz csatlakozik, amely automatikusan leejti az ételt, amikor a kiságy majdnem üres, és amikor a kutya elég közel van. Az adagoló alján egy PVC cső lesz rögzítve, amely szépen leejti a kutyatápot a kiságyba. Ennek a projektnek tehát 3 érzékelője lesz, amelyek közül 2 nem tartozik az osztályba, és 1 egy működtető.

Az első érzékelő az RFID olvasó. Ez az érzékelő ellenőrzi, ha a kutya a kiságy közelébe kerül. Az RFID beépítésre kerül a kutya nyakörvébe. Ha ez az érzékelő észreveszi, hogy a kutya elég közel van, akkor jelet küld a második érzékelőnek. A második érzékelő a súlyérzékelő (nem tartozik az osztályba), amely méri az ételt a kiságyban, ha ez az érzékelő azt észleli, hogy a súly túl alacsony, akkor jelet küld a szervomotornak, amely leejti az ételt a kiságyba (az RFID és a súlyérzékelő megerősítésével). Röviden, a kutya csak akkor kap extra ételt, ha elég közel van a kiságyhoz, és amikor a kiságy szinte üres. Természetesen van egy korlát is, amelyet a webszerveren keresztül állíthat be; hogy a kutya ne kapjon túl sok ételt naponta. A harmadik érzékelő egy fényérzékelő, amely megvilágítja a LED -es fényszórót, amikor túl sötét van a kiságy körül. A hajtómű tehát szervomotor lesz, amely az adagolóban lévő kerékhez van csatlakoztatva.

Ez a projekt kutyáknak készült, más kis háziállatokhoz is használható.

Kellékek

Raspberry Pi 3

Betöltőcella (1KG)

HX711 terhelésmérő erősítő

Élelmiszer tál

Gabonaadagoló

Fa (+ csavarok és csavarhúzó)

Fényérzékelő

Vezette

RFID olvasó rc522

Jumper vezetékek

16*2 LCD (kijelző)

Szervómotor

5V -os hálózati adapter

Ellenállás 470 Ohm

PVC cső

Breadbord

Potenciométer

Fűrész

Csiszolópapír

Szilícium pisztoly

1. lépés: Pi beállítás

Pi beállítás
Pi beállítás

Beállít

A kezdéshez először be kell állítanunk a Pi -t.

Két dologra lesz szüksége:

- Win32 Disk Imager a https://sourceforge.net/projects/win32diskimager/… webhelyen

- Raspbian OS kép a https://www.raspberrypi.org/downloads/raspbian/ webhelyen

Töltse le a ZIP fájlt, és bontsa ki, ahová szeretné.

A telepítés

1. Válassza ki a képet a mappaikon segítségével

2. Válassza ki az SD -kártyát a legördülő menüből

3. Kattintson az írásra

Most további beállításokat kell végeznünk bizonyos beállításokkal, hogy hozzáférhessünk a Pi -hez.

1. Lépjen az SD -kártya rendszerindító könyvtárába

2. Nyissa meg a "cmdline.txt" fájlt

3. Adja hozzá az ip = 169.254.10.1 szöveget a szóközökkel elválasztott hosszú sor végén (ugyanazon a soron).

4. Mentse a fájlt.

5. Hozzon létre egy ssh nevű fájlt kiterjesztés nélkül ugyanabban a könyvtárban

Most ki tudja venni az SD -kártyát, és behelyezheti a Pi -be.

Csatlakozás

Most be kell állítanunk a szoftvert.

Először csatlakoztassa a LAN -kábelt, egyik végét az asztali számítógéphez/laptophoz, a másikat a Pi -hez.

Most indítsa el a Raspberry Pi -t.

1. Telepítse a Putty -t a https://www.putty.org/ webhelyről

2. Írja be a 169.254.10.1 címet az IP mezőbe.

3. Győződjön meg arról, hogy az SSH van kiválasztva, és a 22 -es port ki van töltve.

4. Kattintson a Megnyitás gombra

5. Töltse ki a felhasználónevet: pi

6. Töltse ki a jelszót: málna

Raspi-config

Nyissa meg a Raspi-config segédprogramot:

sudo raspi-config

Engedélyezze az alábbi beállításokat az interfészek kategóriában

- 1 vezetékes

- SPI

Tiltsa le a következő beállításokat a rendszerindítási beállítások kategóriában

- Splash képernyő

Végül állítsa az Asztali/CLI beállítást a rendszerindítási beállítások kategóriában Asztali automatikus beállításra.

WiFi

A kutyatáplálóhoz wifi -kapcsolatra van szükségünk, ezért győződjön meg arról, hogy zárva vannak a wifi hitelesítő adatok.

1. Lépjen root módba

sudo -i

2. Illessze be ezt a sort, de győződjön meg arról, hogy mind az SSID, mind a jelszó ki van töltve

wpa_passphrase "SSID" "JELSZÓ" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. Lépjen be a WPA kliensbe.

Wpa_cli

4. Válassza ki az interfészt

Wlan0 interfész

5. Töltse be újra a konfigurációt

Konfigurálja újra

Győződjön meg arról, hogy megfelelően csatlakozik, írja be az ip a parancsot, és ellenőrizze, hogy rendelkezik -e IP -címmel a WLAN0 interfészeken.

Csomagok

Most, hogy csatlakoztunk az internethez, telepítenünk kell néhány csomagot.

Először frissítenünk kell a legújabb csomagok listáját.

sudo apt frissítés

Piton

Kényszerítjük a Raspbian -t a Python 3 használatára

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

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

MariaDB

Illessze be a következő sort az adatbázis telepítéséhez.

sudo apt install mariadb-server

Ezután biztosítanunk kell a telepítést.

mysql_secure_installation

Megkérdezi tőlünk az aktuális root jelszót, mivel nincs ilyen, csak nyomja meg az enter billentyűt.

Ezután megkérdezi, hogy root jelszót szeretnénk -e y -be írni, mivel szeretnénk egyet.

A következő kérdésekhez írja be Y -t.

Ezután létrehozunk egy felhasználót, amelyet a tükörhöz használhatunk.

Lépjen be a mysql shellbe az alábbiak szerint:

- Emeljük fel magunkat a gyökerekig

Sudo -i

- Lépjen be a mysql shellbe

Mysql

- Cserélje le a saját felhasználónevével, és ugyanezt a

adjon meg minden jogosultságot *. * -on a (z) ''@'%' számára, amelyet a '' jelöl;

- minden jogosultság megadása *. * -on a (z) ''@'%' számára, amelyet a '' jelöl;

Ezután hozzáadjuk az adatbázisunkat.

Apache webszerver

A webszerver telepítéséhez futtassa az alábbi sort.

sudo apt install apache2 -y

Python csomagok

Ezeket a csomagokat telepítjük

- Lombik

- Flask-Cors

- Lombik-MySQL

- Flask-SocketIO

- PyMySQL

- Gevent

- Gevent-websocket

-

- Python-socketio

- Kérések

- Wsaccel

- Ujson

Azáltal, hogy tesz

pip install Flask Flask-Cors Lombik-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httpsib2 python-socketio kérések wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

2. lépés: LED és fényérzékelő

LED és fényérzékelő
LED és fényérzékelő
LED és fényérzékelő
LED és fényérzékelő

A led csatlakoztatása

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Ellenállás 470 ohm és GND

A fényérzékelő csatlakoztatása

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

Most tesztelhetjük, működik -e a led- és fényérzékelőnk ezzel a kis szkripttel

RPi. GPIO importálása GPIO -ként GPIO.setmode (GPIO. BCM)

GPIO.setup (15, GPIO. OUT)

GPIO.setup (17, GPIO. IN)

próbáld: míg igaz:

ha GPIO.input (17) == 0:

GPIO.kimenet (15, GPIO. HIGH)

ha GPIO.input (17) == 1:

GPIO.kimenet (15, GPIO. LOW)

kivéve KeyboardInterrupt: GPIO.cleanup ()

3. lépés: Szervomotor

Szervómotor
Szervómotor

A szervomotor csatlakoztatása

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

Most tesztelhetjük, működik -e a led- és fényérzékelőnk ezzel a kis szkripttel

importálja az RPi. GPIO fájlt GPIO -ként

GPIO.setmode (GPIO. BCM)

GPIO.setup (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

p.start (12.5)

próbáld ki:

míg igaz:

p. ChangeDutyCycle (12.5)

time.sleep (1)

p. ChangeDutyCycle (2.5)

time.sleep (1)

A billentyűzet megszakítása kivételével:

p.stop ()

GPIO.cleanup ()

4. lépés: RFID olvasó RC522

RFID olvasó RC522
RFID olvasó RC522

Az RFID csatlakoztatása

  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

Most tesztelhetjük, hogy az RFID olvasónk működik -e ezzel a kis szkripttel

importálja az RPi. GPIO -t GPIO -ként

az mfrc522 -ből Import SimpleMFRC522

olvasó = SimpleMFRC522 ()

text = input ('Új adatok:')

print ("Most helyezze el a címkét az íráshoz")

read.write (szöveg)

nyomtatás ("írott")

5. lépés: Töltse be a HX711 cellát

Load Cell HX711
Load Cell HX711

A Terhelés cella csatlakoztatása a HX711 vezérlőpanelhez

  1. Piros -> E+
  2. Fekete -> E-
  3. Zöld -> A+
  4. Fehér -> A-

A betöltőcella csatlakoztatása

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. PIROS -> 3.3V
  4. GND -> GND

Most tesztelhetjük, hogy a terhelési cellánk működik -e ezzel a kis szkripttel

importálja az RPi. GPIO -t GPIO -ként importálja a rendszer importálását a klasszikusokból. HX711 import HX711

def cleanAndExit (): print ("Tisztítás …") GPIO.cleanup () print ("Viszlát!") sys.exit ()

hx = HX711 (22, 27)

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

hx.set_reference_unit (2167)

hx.reset ()

hx.tare ()

míg igaz:

próbáld ki:

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

nyomtatás (val)

hx.power_down ()

hx.power_up ()

time.sleep (0,5)

kivéve (KeyboardInterrupt, SystemExit): cleanAndExit ()

6. lépés: LCD (16*2)

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

Az LCD csatlakoztatása

  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 -> középső potenciotű

Most tesztelhetjük, hogy működik -e LCD képernyőnk ezzel a kis szkripttel

importálja az Adafruit_CharLCD -t LCDlcd_rs = 21 formátumban

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')

7. lépés: Teljes kör

Teljes kör
Teljes kör

itt újra ellenőrizheti, hogy az egész áramkör helyes -e

8. lépés: Az ügy kezdete

Az ügy kezdete
Az ügy kezdete
Az ügy kezdete
Az ügy kezdete
Az ügy kezdete
Az ügy kezdete
Az ügy kezdete
Az ügy kezdete

Kukoricapehely adagolót használtam a kutyaeledel tartályaként

Csatlakoztattam az adagolóban lévő kereket a szervomotoromhoz

Most már szabályozhatom a kereket a szervomotorommal, és eleshetek az ételt a tartályból

A tartály végén egy PVC cső van csatlakoztatva, amely szépen leejti az ételt a kiságyba

Fát használok burkolatként

9. lépés: Összerakás

Összerakása
Összerakása
Összerakása
Összerakása
Összerakása
Összerakása

10. lépés: A webhely

A Weboldal
A Weboldal
A Weboldal
A Weboldal
A Weboldal
A Weboldal
A Weboldal
A Weboldal

Most a gépünk működik, fel kell vinnünk a webhelyet a pi -re. Most minden készen áll, és néhány utasítást ad az oldal működésére vonatkozóan.

Csatlakoztathatja a pi -t a wifi -hez, ha csatlakoztat egy hdmi kábelt, és így aktiválja

Az első oldal a kezdőlap, itt látható:

  • Valós idejű információk a fényről
  • Valós idejű információk a tálban maradt ételekről
  • Leteheti az ételt
  • Információ a kutyáról

A második oldal a szerkesztési oldal, itt szerkesztheti:

  • kedvence nevét
  • kedvence kora
  • kedvence súlyát
  • kedvence fotója

A harmadik oldal a történelem oldal, itt láthatja:

  • amikor kigyulladt a fény
  • amikor a kutya evett
  • amikor az étel leesett

A negyedik oldal a beállítások oldal, itt szerkesztheti:

  • amikor az ételnek le kell esnie
  • a leejtendő étel mennyisége
  • max étel/nap
  • A fény

Ajánlott: