Kazalo:

Samodejni razpršilnik psov: 10 korakov
Samodejni razpršilnik psov: 10 korakov

Video: Samodejni razpršilnik psov: 10 korakov

Video: Samodejni razpršilnik psov: 10 korakov
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, November
Anonim
Samodejni razpršilnik za pse
Samodejni razpršilnik za pse
Samodejni razpršilnik za pse
Samodejni razpršilnik za pse
Samodejni razpršilnik za pse
Samodejni razpršilnik za pse

S svojim projektom poskrbim, da psa, ko ga pustite samega doma, nikoli ne ostane brez hrane.

Samodejni podajalnik bo "kramp" iz razpršilnika za koruzne kosmiče. Dozator je rezervoar za hrano za pse, kolo na dnu bo povezano s servo motorjem, ki samodejno spusti hrano, ko so jaslice skoraj prazne in ko je pes dovolj blizu. Na dnu razpršilnika bo pritrjena PVC cev, ki bo pasjo hrano lepo spustila v posteljico. Ta projekt bo torej imel 3 senzorje, od katerih 2 nista zajeti v razredu in 1 je aktuator.

Prvi senzor je čitalnik RFID. Ta senzor preveri, kdaj se pes približa otroški posteljici. RFID bo vgrajen v ovratnico psa. Če ta senzor opazi, da je pes dovolj blizu, bo preusmeril signal na drugi senzor. Drugi senzor je senzor teže (ki ni zajet v razredu), ki meri hrano v posteljici. Če ta zazna, da je teža prenizka, bo poslal signal servo motorju, ki bo hrano spustil v posteljico (s potrditvijo RFID in senzorja teže). Skratka, pes dobi dodatno hrano le, ko je dovolj blizu jaslice in ko so jaslice skoraj prazne. Seveda obstaja tudi omejitev, ki jo lahko nastavite sami prek spletnega strežnika; tako da pes ne dobi preveč hrane na dan. Tretji senzor je svetlobni senzor, ki osvetljuje LED reflektor, ko je okoli jaslice pretemno. Pogon bo torej servo motor, povezan s kolesom v razdelilniku.

Ta projekt je namenjen psom, lahko ga uporabite tudi za druge majhne hišne ljubljenčke.

Zaloge

Malina Pi 3

Merilna celica (1 kg)

Ojačevalnik merilnih celic HX711

Posoda za hrano

Dozator za žita

Les (+ vijaki in izvijač)

Senzor svetlobe

LED

Bralnik RFID rc522

Mostične žice

16*2 LCD (zaslon)

Servo motor

5V napajalnik

Upor 470 Ohm

PVC cev

Breadbord

Potenciometer

Videl

Brusni papir

Silikonska pištola

Korak: Nastavitev Pi

Nastavitev Pi
Nastavitev Pi

Nastaviti

Za začetek moramo najprej nastaviti vaš Pi.

Potrebovali boste dve stvari:

- Win32 Disk Imager iz

- slika OS Raspbian s

Prenesite datoteko ZIP in jo izvlecite, kamor koli želite.

Namestitev

1. Izberite svojo sliko prek ikone mape

2. V spustnem meniju izberite kartico SD

3. Kliknite na piši

Zdaj bomo morali narediti nekaj dodatnega popravljanja z nekaterimi nastavitvami, da bomo lahko dostopali do Pi.

1. Pojdite v zagonski imenik kartice SD

2. Odprite datoteko "cmdline.txt"

3. Dodajte ip = 169.254.10.1 Na koncu dolge vrstice besedila, ločenega s presledkom (v isti vrstici).

4. Shranite datoteko.

5. Ustvarite datoteko ssh brez razširitve v istem imeniku

Zdaj lahko odstranite kartico SD in jo vstavite v svoj Pi.

Povezovanje

Zdaj bomo morali nastaviti programsko opremo.

Najprej priključite kabel LAN, en konec na namizju/prenosnem računalniku, drugi pa na Pi.

Zdaj zaženite Raspberry Pi.

1. Namestite Putty s spletnega mesta

2. V polje IP vnesite 169.254.10.1.

3. Prepričajte se, da je izbran SSH in da so vrata 22 izpolnjena.

4. Kliknite odprto

5. Izpolnite uporabniško ime: pi

6. Izpolnite geslo: malina

Raspi-config

Odprite pripomoček Raspi-config z:

sudo raspi-config

V kategoriji vmesnikov omogočite naslednje možnosti

- 1-žica

- SPI

Onemogočite naslednje možnosti v kategoriji možnosti zagona

- Začetni zaslon

Nazadnje nastavitev Namizje/CLI v kategoriji možnosti zagona nastavite na Samodejna prijava na namizje.

Wifi

Za napajalnik psov moramo imeti povezavo Wi -Fi, zato se prepričajte, da imate blizu poverilnic za wifi.

1. Pojdite v korenski način

sudo -i

2. Prilepite to vrstico, vendar se prepričajte, da sta SSID in Geslo izpolnjena

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

3. Vnesite odjemalca WPA.

Wpa_cli

4. Izberite vmesnik

Vmesnik wlan0

5. Znova naložite konfiguracijo

Ponovno konfigurirajte

Prepričajte se, da ste pravilno povezani, tako da vnesete ip a in preverite, ali imate IP na vmesnikih WLAN0.

Paketi

Zdaj, ko smo povezani z internetom, bomo morali namestiti nekaj paketov.

Najprej bomo morali osvežiti sezname paketov za najnovejšega.

sudo apt posodobitev

Python

Raspbian bomo prisilili v uporabo Pythona 3

posodobitvene alternative --install/usr/bin/python python /usr/bin/python2.7 1

posodobitvene alternative --install/usr/bin/python python/usr/bin/python3 2

MariaDB

Za namestitev baze podatkov prilepite naslednjo vrstico.

sudo apt namestite strežnik mariadb

Nato moramo zagotoviti namestitev.

mysql_secure_installation

Vprašal nas bo za trenutno korensko geslo, saj ga nimamo, samo pritisnite enter.

Nato se sprašuje, ali želimo root geslo v y, saj ga želimo.

Za naslednja vprašanja vnesite Y.

Nato bomo ustvarili uporabnika, ki ga bomo lahko uporabili za ogledalo.

Vnesite lupino mysql tako:

- povzdignemo se v koren

Sudo -i

- Vnesite lupino mysql

Mysql

- Zamenjajte z lastnim uporabniškim imenom in enako z

podeli vse privilegije za *. * ''@'%', ki jih označi '';

- podeli vse privilegije za *. * ''@'%', ki jih označi '';

Nato bomo dodali svojo bazo podatkov.

Spletni strežnik Apache

Če želite namestiti spletni strežnik, zaženite spodnjo vrstico.

sudo apt namestite apache2 -y

Paketi Python

Namestili bomo te pakete

- Bučka

- bučke

- Flask-MySQL

- Vtičnica za bučkoIO

- PyMySQL

- Gevent

- Gevent-spletna vtičnica

-

- Python-socketio

- Zahteve

- Wsaccel

- Ujson

Z početjem

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

2. korak: Led in svetlobni senzor

Led in svetlobni senzor
Led in svetlobni senzor
Led in svetlobni senzor
Led in svetlobni senzor

Priključitev led

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Upor 470 ohmov in GND

Priključitev svetlobnega senzorja

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

Zdaj lahko preizkusimo, ali naš LED in svetlobni senzor deluje s tem malim skriptom

uvozite RPi. GPIO kot način GPIO GPIO.set (GPIO. BCM)

GPIO.setup (15, GPIO. OUT)

GPIO.setup (17, GPIO. IN)

poskusi: while True:

če je GPIO.input (17) == 0:

GPIO.izhod (15, GPIO. HIGH)

če je GPIO.input (17) == 1:

GPIO.izhod (15, GPIO. LOW)

razen KeyboardInterrupt: GPIO.cleanup ()

3. korak: Servo motor

Servo motor
Servo motor

Priključitev servo motorja

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

Zdaj lahko preizkusimo, ali naš LED in svetlobni senzor deluje s tem malim skriptom

uvozite RPi. GPIO kot GPIOimportni čas

Način GPIO.set (GPIO. BCM)

GPIO.setup (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

p.start (12.5)

poskusi:

medtem ko je res:

p. ChangeDutyCycle (12.5)

time.sleep (1)

p. ChangeDutyCycle (2.5)

time.sleep (1)

razen KeyboardInterrupt:

p.stop ()

GPIO.cleanup ()

4. korak: Bralnik RFID RC522

Bralnik RFID RC522
Bralnik RFID RC522

Priključitev 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

Zdaj lahko preizkusimo, ali naš bralnik RFID deluje s tem malim skriptom

uvozite RPi. GPIO kot GPIO

iz mfrc522 uvoz SimpleMFRC522

bralec = SimpleMFRC522 ()

text = input ('Novi podatki:')

print ("Zdaj vnesite oznako za pisanje")

reader.write (besedilo)

print ("Pisno")

5. korak: Naložite celico HX711

Obremenitvena celica HX711
Obremenitvena celica HX711

Priključitev merilne celice na gonilniško ploščo HX711

  1. Rdeča -> E+
  2. Črna -> E-
  3. Zelena -> A+
  4. Bela -> A-

Priključitev celice za nalaganje

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. RDEČA -> 3,3 V
  4. GND -> GND

Zdaj lahko preizkusimo, ali naša merilna celica deluje s tem malim skriptom

uvoz RPi. GPIO kot GPIO uvoz časa uvoza sys iz klasses. HX711 uvoz HX711

def cleanAndExit (): print ("Čiščenje …") GPIO.cleanup () print ("Adijo!") sys.exit ()

hx = HX711 (22, 27)

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

hx.set_reference_unit (2167)

hx.reset ()

hx.tare ()

medtem ko je res:

poskusi:

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

tisk (val)

hx.power_down ()

hx.power_up ()

time.sleep (0,5)

razen (KeyboardInterrupt, SystemExit): cleanAndExit ()

6. korak: LCD (16*2)

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

Priključitev LCD -ja

  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 -> srednji potencio pin

Zdaj lahko preizkusimo, ali naš LCD zaslon deluje s tem malim skriptom

uvozite Adafruit_CharLCD kot 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')

7. korak: polno vezje

Polno vezje
Polno vezje

tukaj lahko znova preverite, ali je celotno vezje pravilno

8. korak: Začetek primera

Začetek primera
Začetek primera
Začetek primera
Začetek primera
Začetek primera
Začetek primera
Začetek primera
Začetek primera

Razpršilnik koruznih kosmičev sem uporabil kot rezervoar za hrano za pse

Kolo v razdelilniku sem priključil na servo motor

Zdaj lahko s servo motorjem upravljam kolo in izpustim hrano iz rezervoarja

Na koncu rezervoarja je priključena PVC cev, ki hrano lepo spusti v posteljico

Les uporabljam kot ohišje

9. korak: Sestavite skupaj

Sestavljanje skupaj
Sestavljanje skupaj
Sestavljanje skupaj
Sestavljanje skupaj
Sestavljanje skupaj
Sestavljanje skupaj

10. korak: Spletno mesto

Spletno mesto
Spletno mesto
Spletno mesto
Spletno mesto
Spletno mesto
Spletno mesto
Spletno mesto
Spletno mesto

Zdaj naš stroj deluje, zato moramo spletno mesto postaviti na pi. Zdaj je vse pripravljeno in izvaja nekaj navodil o tem, kako spletno mesto deluje.

Pi lahko povežete z wifi, tako da priključite kabel hdmi in ga aktivirate na ta način

Prva stran je domača stran, tukaj si lahko ogledate:

  • Informacije o svetlobi v realnem času
  • Informacije v realnem času o hrani, ki ostane v skledi
  • Hrano lahko spustite
  • Podatki o psu

Druga stran je stran za urejanje, tukaj lahko uredite:

  • ime vašega ljubljenčka
  • starost vašega ljubljenčka
  • teža vašega ljubljenčka
  • fotografijo vašega ljubljenčka

Tretja stran je stran zgodovine, tukaj si lahko ogledate:

  • ko se je lučka prižgala
  • ko je pes pojedel
  • ko je hrana padla

Četrta stran je stran z nastavitvami, tukaj lahko uredite:

  • ko mora hrana pasti
  • zmanjšati količino hrane
  • največ hrane na dan
  • svetloba

Priporočena: