Kazalo:

IoT pripravek za hišne ljubljenčke: 7 korakov (s slikami)
IoT pripravek za hišne ljubljenčke: 7 korakov (s slikami)

Video: IoT pripravek za hišne ljubljenčke: 7 korakov (s slikami)

Video: IoT pripravek za hišne ljubljenčke: 7 korakov (s slikami)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Image
Image
IoT razpršilnik za hišne ljubljenčke
IoT razpršilnik za hišne ljubljenčke

Imam dve mački in to, da jim moram približno 3 -krat na dan dati priboljške, je postalo precej nadloga. Pogledali so me s svojimi srčkanimi obrazi in intenzivnimi strmeli, nato pa stekli do škatle, polne mačjih zelenic, mijavkali in jih prosili. Odločil sem se, da je dovolj. Nič več vstajanja, samo da bi mački dali nekaj priboljškov. Zdaj je bil čas za stroj za razdeljevanje priboljškov, saj kot pravi pregovor: "Programerji obstajajo, da naredijo zapletene stvari, da bi preproste stvari naredili manj."

DFRobot je sponzoriral ta projekt.

Seznam delov:

  • DFRobot Raspberry Pi 3
  • Modul kamere DFRobot Raspberry Pi
  • Koračni motor DFRobot s planetarnim zobnikom
  • I2C LCD 16x2
  • Priključek za sod do terminala
  • Gonilnik koračnega motorja DRV8825
  • Kondenzator 100 µF
  • Arduino UNO in Genuino UNO
  • Mostične žice (generično)

1. korak: Ustvarjanje dizajna

Ustvarjanje dizajna
Ustvarjanje dizajna

Najprej je bila izbira, kako upravljati svoj na novo premišljen stroj. Bluetooth bi imel prenizek doseg, le 30 čevljev brez ovir. S temi informacijami sem se odločil za uporabo WiFi. Kako pa zdaj uporabljam WiFi za nadzor stroja? Raspberry Pi 3 ima vgrajene zmogljivosti WiFi, kar mi omogoča uporabo Flaska za gostovanje spletne strani. Naslednja je bila tema ohišja in kako odlagati priboljške. Odločil sem se za zasnovo vrtljivega kolesa, kjer bi priboljške padle na majhne odseke, se vrtele, nato pa bi prigrizke padle navzdol na rampo in se odpravile na sprednji del stroja.

2. korak: Izdelava modela Fusion 360

Izdelava modela Fusion 360
Izdelava modela Fusion 360
Izdelava modela Fusion 360
Izdelava modela Fusion 360
Izdelava modela Fusion 360
Izdelava modela Fusion 360

Začel sem z ustvarjanjem osnovnega modela za posodo za priboljške. Priboljški padejo v mini lijak, kjer jih nato vzamejo v vrtljivo kolo.

Nato sem v zasnovo Fusion dodal Raspberry Pi 3 skupaj z drugo elektroniko, vključno z modulom kamere LCD in Raspberry Pi. Naredil sem tudi lijak, ki bi lahko shranjeval dodatne dobrote.

Stene za razdeljevalno posodo naj bi bile izrezane iz vezanega lesa 1/4 palca na CNC usmerjevalniku. V njej je 7 kosov, 4 stene, tla in zgornji del ter pokrov, ki se lahko odprejo in zaprejo, da razkrijejo dobrote.

Nazadnje sem ustvaril "fancy" ročaj za odpiranje pokrova.

3. korak: Nastavitev Pi

DFRobot je stopil v stik z mano in poslal modul kamere Raspberry Pi 3 in Raspberry Pi Camera. Ko sem odprl škatle, sem lahko delal z nastavitvijo kartice SD. Najprej sem šel na stran Prenosi Raspberry Pi in naložil najnovejšo različico Raspbiana. Nato sem datoteko izvlekel in jo dal v priročen imenik. Datoteke.img ne morete samo kopirati/prilepiti na kartico SD, ampak jo morate "zapisati" na kartico. Lahko prenesete goreč pripomoček, kot je Etcher.io, da preprosto prenesete sliko OS. Ko je bila datoteka.img na moji kartici SD, sem jo vstavil v Raspberry Pi in ji dal moč. Po približno 50 sekundah sem odklopil kabel in odstranil kartico SD. Nato sem SD kartico vstavil nazaj v računalnik in odšel v imenik »boot«. Odprl sem Beležnico in jo shranil kot prazno datoteko z imenom "ssh" brez razširitve. Dodala sem tudi datoteko, imenovano "wpa_supplicant.conf", v katero sem vnesla to besedilo: network = {ssid = psk =} Nato sem kartico shranila in izvrgla ter jo dala nazaj v Raspberry Pi 3. To bi moralo omogočiti uporabo SSH in povezavo z WiFi.

4. korak: Namestitev programske opreme

Obstaja več različnih programov, ki lahko pretakajo video, na primer VLC in motion, vendar sem se odločil za uporabo mjpeg-streamerja zaradi nizke zakasnitve in enostavne namestitve. V skladu z navodili na spletnem mestu naredite: git clone https://github.com/jacksonliam/mjpg-streamer.git V mapo, nato vnesite: sudo apt-get install cmake libjpeg8-dev Če želite namestiti potrebne knjižnice. Spremenite svoj imenik v mapo, ki ste jo prenesli, in nato vnesite: make Sledi: sudo make install Za kompilacijo programske opreme. Končno vnesite: izvoz LD_LIBRARY_PATH =. Če ga želite zagnati, vnesite:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Do pretoka lahko dostopate na naslovu: https:// Pi -jev lokalni ip: 8080/stream. html Za ogled toka.

5. korak: Nastavitev spletnega strežnika

Če sem želel, da bi stroj zunaj upravljal WiFi, sem potreboval spletni strežnik. Spletni strežnik v bistvu streži spletne strani na zahtevo, običajno brskalnik. Želel sem nekaj hitrega in enostavnega za nastavitev in uporabo, s čimer bi vzel Apache z mize. Prav tako sem želel povezati spletni strežnik s Pythonom, da bi lahko upravljal Arduino Uno s PySerial. To iskanje me je na koncu pripeljalo do Flaska, lepe knjižnice Python, ki uporabnikom omogoča, da hitro ustvarijo spletni strežnik. Celotna koda je priložena tej strani projekta. Skript python v bistvu nastavi 2 spletni strani, eno, ki gostuje v korenskem imeniku, '/', drugo pa na '/dispense'. Indeksna stran ima obrazec HTML, ki ob predložitvi pošlje zahtevo za objavo na stran za izdajo. Stran za izdajo nato preveri, ali je vrednost objave pravilna in ali je sporočilo "D / n" poslano serijsko na Arduino Uno.

Korak 6: Nadzor IO

Nadzor IO
Nadzor IO
Nadzor IO
Nadzor IO
Nadzor IO
Nadzor IO
Nadzor IO
Nadzor IO

Odločil sem se, da bom za pogon koračnega motorja uporabil DRV8825, predvsem zato, ker potrebuje le 2 IO zatiča, poleg tega pa ima nastavljivo omejitev toka. Poskušal sem uporabiti L293D, vendar ni mogel prenesti obremenitve koračnega motorja. DRV8825 se krmili s pulziranjem zatiča STEP prek PWM, smer pa z vlečenjem zatiča DIR visoko ali nizko. Koračni motor, ki ga uporabljam, ima 1,2 ampera, zato sem napetost VREF prilagodil na.6V. Naslednji je bil LCD. Želel sem uporabiti I2C za zmanjšanje potrebne količine IO in za poenostavitev kode. Če želite namestiti knjižnico, preprosto poiščite "LiquidCrystal_I2C" in jo namestite. Nazadnje, Arduino Uno preveri, ali so v serijskem medpomnilniku nove informacije in ali se ujemajo z 'D'. Če se to zgodi, Uno povzroči, da se koračni motor premakne za 180 stopinj in nato za -72 stopinj, da prepreči nalaganje dobrot.

Priporočena: