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, Novembar
Anonim
Image
Image
IoT dozator za kućne ljubimce
IoT dozator za kućne ljubimce

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

DFRobot je sponzorisao ovaj projekat.

Lista dijelova:

  • DFRobot Raspberry Pi 3
  • DFRobot Raspberry Pi modul kamere
  • DFRobot koračni motor sa planetarnim zupčanikom
  • I2C LCD 16x2
  • Bačvasti priključak do terminala
  • DRV8825 Upravljački program koračnog motora
  • Kondenzator 100 µF
  • Arduino UNO & Genuino UNO
  • Žice za spajanje (općenito)

Korak 1: Kreiranje dizajna

Kreiranje dizajna
Kreiranje dizajna

Prvo je bio izbor kako da kontrolišem svoju novomišljenu mašinu. Bluetooth bi imao prekratak domet, na samo 30 stopa bez prepreka. S ovim podacima odlučio sam se za korištenje WiFi -a. 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 hostovanje web stranice. Sljedeća je bila tema kućišta i načina izdavanja poslastica. Odlučio sam se za dizajn rotirajućih kotača, gdje se poslastice dijele na 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 pohranu 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 -a

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 za preuzimanje Raspberry Pi i preuzeo najnoviju verziju Raspbiana. Zatim sam izvukao datoteku i stavio je u prikladan direktorij. Ne možete samo kopirati/zalijepiti.img datoteku na SD karticu, morate je "narezati" na karticu. Možete preuzeti gorući pomoćni program poput Etcher.io da biste jednostavno prenijeli sliku 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čunar 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 ubacio ovaj tekst: network = {ssid = psk =} Zatim sam sačuvao i izbacio karticu i vratio je u Raspberry Pi 3. Ovo 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 motion-a, 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 Da biste instalirali potrebne biblioteke. 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" Možete pristupiti toku tako što ćete otići na: https:// Pi -jev lokalni ip: 8080/stream. html Za pregled streama.

Korak 5: Postavljanje web servera

Da bih omogućio vanjsko upravljanje strojem putem WiFi -a, trebao mi je web poslužitelj. Web server u osnovi služi web stranicama na zahtjev, obično od strane preglednika. Htio sam nešto brzo i jednostavno za postavljanje i upotrebu, skidanje Apachea sa stola. Takođe sam želeo da povežem veb server sa Pythonom kako bih mogao da kontrolišem Arduino Uno sa PySerial -om. Ova potraga me na kraju dovela do Flaska, lijepe Python biblioteke koja omogućava korisnicima da brzo stvore web poslužitelj. 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 objavljivanje na stranici za izdavanje. Stranica za izdavanje tada provjerava je li vrijednost knjiženja točna i je li poruka 'D / n' poslana serijski na Arduino Uno.

Korak 6: Kontrola IO

Kontrola IO
Kontrola IO
Kontrola IO
Kontrola IO
Kontrola IO
Kontrola IO
Kontrola IO
Kontrola IO

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 STEP pina preko PWM -a, a smjer se kontrolira povlačenjem DIR pina visoko ili nisko. Koračni motor koji koristim ima napon od 1,2 ampera, pa sam podesio VREF napon na.6V. Sledeći je bio LCD. Htio sam koristiti I2C za smanjenje potrebne količine IO -a i pojednostavljenje koda. Da biste instalirali biblioteku, jednostavno potražite "LiquidCrystal_I2C" i instalirajte je. Konačno, Arduino Uno provjerava ima li novih podataka u serijskom međuspremniku i odgovara 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 zaglavljivanje poslastica.

Preporučuje se: