Sadržaj:

IoT dozator za kućne ljubimce: 7 koraka (sa slikama)
IoT dozator za kućne ljubimce: 7 koraka (sa slikama)

Video: IoT dozator za kućne ljubimce: 7 koraka (sa slikama)

Video: IoT dozator za kućne ljubimce: 7 koraka (sa slikama)
Video: CAT BED!👖 #cats #cat 2024, Studeni
Anonim
Image
Image
IoT pripravak za kućne ljubimce
IoT pripravak za kućne ljubimce

Imam dvije mačke i to što sam im trebao davati poslastice oko 3 puta dnevno postalo je velika smetnja. Podigli bi pogled prema meni sa svojim ljupkim licima i intenzivnim pogledom, a zatim potrčali do boksa punog mačjeg zelenila, mijaukali i molili ih. Odlučio sam da je dovoljno. Nema više ustajanja samo da bi mački dali nekoliko poslastica. Sada je došlo vrijeme za stroj za izdavanje poslastica, jer kako se kaže: "Programeri postoje kako bi komplicirali stvari kako bi manje radili jednostavne stvari."

DFRobot je sponzorirao ovaj projekt.

Popis dijelova:

  • DFRobot Raspberry Pi 3
  • Modul kamere DFRobot Raspberry Pi
  • Koračni motor DFRobot s planetarnim zupčanikom
  • I2C LCD 16x2
  • Bačvasti priključak do terminala
  • DRV8825 Pogonitelj koračnog motora
  • Kondenzator 100 µF
  • Arduino UNO & Genuino UNO
  • Kratkospojne žice (općenito)

Korak 1: Izrada dizajna

Izrada dizajna
Izrada dizajna

Prvo je bio izbor kako kontrolirati svoj novomišljeni stroj. Bluetooth bi imao prekratak domet, na samo 30 stopa bez prepreka. S tim sam podacima odlučio koristiti WiFi. Ali sada, kako mogu koristiti WiFi za upravljanje strojem? Raspberry Pi 3 ima ugrađene WiFi mogućnosti, dopuštajući mi da koristim Flask za hostiranje web stranice. Sljedeća je bila tema kućišta i načina izdavanja poslastica. Odlučio sam se za dizajn s rotirajućim kotačima, gdje se poslastice raspadaju u male dijelove, rotiraju, a zatim se poslastice spuštaju na rampu i putuju prema prednjoj strani stroja.

Korak 2: Izrada modela Fusion 360

Izrada modela Fusion 360
Izrada modela Fusion 360
Izrada modela Fusion 360
Izrada modela Fusion 360
Izrada modela Fusion 360
Izrada modela Fusion 360

Počeo sam stvaranjem osnovnog modela za posudu s poslasticama. Poslastice padaju u mini-lijevak gdje se zatim unose u rotirajući kotač.

Zatim sam dodao Raspberry Pi 3 u Fusion dizajn, zajedno s drugom elektronikom, uključujući LCD i Raspberry Pi modul kamere. Napravio sam i lijevak za spremanje dodatnih poslastica.

Zidovi dozatora za poslastice trebali bi biti izrezani od šperploče od 1/4 inča na CNC glodalici. Ima 7 komada, 4 zida, pod i gornji dio i poklopac koji se mogu otvarati i zatvarati kako bi se otkrile poslastice.

Na kraju, stvorio sam "fancy" ručku za otvaranje poklopca.

Korak 3: Postavljanje Pi

DFRobot mi se obratio i poslao njihov Raspberry Pi 3 i Raspberry Pi modul kamere. Dakle, nakon što sam otvorio kutije, dobio sam pravo na rad postavljanjem SD kartice. Prvo sam otišao na stranicu Preuzimanja Raspberry Pi i preuzeo najnoviju verziju Raspbiana. Zatim sam izvadio datoteku i stavio je u prikladan direktorij. Ne možete samo kopirati/zalijepiti.img datoteku na SD karticu, morate je "snimiti" na karticu. Možete preuzeti gorući program kao što je Etcher.io za jednostavan prijenos slike OS -a. Nakon što je.img datoteka bila na mojoj SD kartici, umetnuo sam je u Raspberry Pi i dao joj snagu. Nakon otprilike 50 sekundi isključio sam kabel i izvadio SD karticu. Zatim sam vratio SD karticu u računalo i otišao u direktorij "boot". Otvorio sam Notepad i spremio ga kao praznu datoteku pod nazivom "ssh" bez ekstenzije. Tu je i datoteka koju sam dodao pod nazivom "wpa_supplicant.conf" i u nju stavio ovaj tekst: network = {ssid = psk =} Zatim sam spremio i izbacio karticu i vratio je u Raspberry Pi 3. To bi sada trebalo omogućiti korištenje SSH -a i povezivanje na WiFi.

Korak 4: Instaliranje softvera

Postoji nekoliko različitih softvera koji mogu strujati video zapise, poput VLC-a i pokreta, ali odlučio sam koristiti mjpeg-streamer zbog niske latencije i jednostavne instalacije. Prema uputama na web mjestu, učinite: git clone https://github.com/jacksonliam/mjpg-streamer.git U mapu, a zatim upišite: sudo apt-get install cmake libjpeg8-dev Za instaliranje potrebnih knjižnica. Promijenite svoj direktorij u mapu koju ste preuzeli, a zatim upišite: make Slijedi: sudo make install Za kompajliranje softvera. Na kraju unesite: izvoz LD_LIBRARY_PATH =. A da biste ga pokrenuli, upišite:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Streamu možete pristupiti ako odete na: https:// Pi -jev lokalni ip: 8080/stream. html Za pregled streama.

Korak 5: Postavljanje web poslužitelja

Da bih mogao vanjskim upravljanjem strojem upravljati WiFi -om, trebao mi je web poslužitelj. Web poslužitelj u osnovi poslužuje web stranice na zahtjev, obično preglednikom. Htio sam nešto brzo i jednostavno za postavljanje i korištenje, skidanje Apachea sa stola. Također sam želio spojiti web poslužitelj s Pythonom kako bih mogao kontrolirati Arduino Uno s PySerial -om. Ova potraga me na kraju dovela do Flaska, lijepe Pythonove biblioteke koja korisnicima omogućuje brzo stvaranje web poslužitelja. Cijeli kôd nalazi se u prilogu ove stranice projekta. Python skripta u osnovi postavlja 2 web stranice, jednu koja je smještena u korijenskom direktoriju, '/', a drugu koja se nalazi na '/dispense'. Indeksna stranica ima HTML obrazac koji prilikom podnošenja šalje zahtjev za post na stranicu za izdavanje. Stranica za izdavanje tada provjerava je li knjižna vrijednost točna i je li poruka "D / n" poslana serijski na Arduino Uno.

Korak 6: Upravljanje IO -om

Upravljanje IO
Upravljanje IO
Upravljanje IO
Upravljanje IO
Upravljanje IO -om
Upravljanje IO -om
Upravljanje IO -om
Upravljanje IO -om

Odlučio sam se za korištenje svog DRV8825 za pogon koračnog motora, uglavnom zbog toga što su mu bila potrebna samo 2 IO pina zajedno s podesivim ograničenjem struje. Pokušao sam koristiti L293D, ali nije mogao podnijeti opterećenje koračnog motora. DRV8825 se kontrolira pulsiranjem pina STEP preko PWM -a, a smjer se kontrolira povlačenjem DIR pina visoko ili nisko. Koračni motor koji koristim ima napajanje od 1,2 ampera, pa sam podesio VREF napon na.6V. Sljedeći je bio LCD. Htio sam koristiti I2C za smanjenje potrebne količine IO -a i pojednostavljenje koda. Da biste instalirali knjižnicu, jednostavno potražite "LiquidCrystal_I2C" i instalirajte je. Na kraju, Arduino Uno provjerava ima li novih podataka u serijskom međuspremniku i odgovaraju li 'D'. Ako se to dogodi, Uno uzrokuje pomicanje koračnog motora za 180 stupnjeva, a zatim za -72 stupnjeva kako bi se spriječilo ulaganje zalogaja.

Preporučeni: