Turinys:
- Prekės
- 1 žingsnis: kaip tai veikia?
- 2 žingsnis: programinė įranga
- 3 žingsnis: grandinės išdėstymas
- 4 žingsnis: amatai
- 5 žingsnis: Mosquitto
- 6 veiksmas: „Arduino IDE“
- 7 žingsnis: Ngrok
- 8 žingsnis: mazgas-RAUDONAS
- 9 žingsnis: Apvyniokite
Video: Išmanusis naminių gyvūnėlių tiektuvas: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Ar turite augintinį?
- Ne: įvaikink vieną! (ir grįžkime prie šios pamokos).
- Taip: geras darbas!
Argi nebūtų puiku, jei galėtumėte pamaitinti ir duoti vandens savo mylimam žmogui, neatšaukdami planų, kad laiku grįžtumėte namo? Mes sakome, kad daugiau nesijaudinkite.
Šiame projekte mes sukūrėme nuotoliniu būdu valdomus (per internetą) maisto ir vandens balionėlius.
Internetiniame prietaisų skydelyje galite peržiūrėti duomenis ir valdyti dozatorius:
- Peržiūrėkite maisto ir vandens lygį rezervuaruose.
- Peržiūrėkite maisto ir vandens lygį dubenėliuose.
- Ar gyvūnas šiuo metu valgo ar geria?
- Suplanuokite maitinimą (prietaisas neišduos maisto, jei dubenyje yra pakankamai maisto).
- Automatiškai išpilstykite vandenį, kai indas tuščias.
- Vienu mygtuko paspaudimu išpilstykite maistą/vandenį.
- Gaukite tiesioginius pranešimus į savo telefoną („Telegram“programa).
Kas mes esame?
Sukūrė Tomas Kaufmanas ir Katya Fichman, „IDC Herzliya“informatikos studentai.
Šis projektas buvo sukurtas IOT kursui.
Prekės
Elektronika
- 2 X ESP8266 („Wemos d1 mini“).
- Jumperio laidai.
- 2 X duonos lenta.
- 4 X ultragarso jutiklis.
- 2 X Įkrovos langelis.
- 2 X Įkrovos elementų stiprintuvas (HX711).
- Servo (180 °).
- Servo (nuolatinis sukimasis).
- 2 X 6 V maitinimo šaltinis.
Dalys
- Kukurūzų dribsnių dozatorius („Amazon“nuoroda).
- 3D atspausdintas maisto piltuvo piltuvas (https://www.thingiverse.com/thing:3998805).
- 3D spausdintas maisto dozatoriaus servo priedas (https://www.thingiverse.com/thing:3269637).
- 3D spausdintas maisto dozatoriaus stovas (skirtas šiam projektui:
- 3D spausdinta apkrovos elementų bazė ir plokštė (skirta šiam projektui:
- Vandens dozatorius („Amazon“nuoroda į kažką panašaus).
- Viela (prijungti vandens dozatoriaus rankenėlę prie servo).
- 3 X Ultragarso jutiklio stovas.
1 žingsnis: kaip tai veikia?
ESP8266 plokštės siunčia jutiklių rodmenis į „Node-RED“per „Mosquitto“(MQTT brokeris).
„Node-RED“apdoroja duomenis, atitinkamai imasi veiksmų (taip pat siunčia išdavimo komandas į ESP8266 plokštes per „Mosquitto“) ir rodo informaciją prietaisų skydelyje.
Visi skaičiavimai atliekami naudojant „Node-RED“, todėl būtų lengva pakartoti šį projektą ir pakeisti duomenų apdorojimą pagal jūsų nustatymus ir pageidavimus, nenusitepus rankų nuo kodavimo.
2 žingsnis: programinė įranga
„Arduino IDE“
Atsisiųskite ir įdiekite (nuoroda:
Mosquitto
Atsisiųskite ir įdiekite (nuoroda:
Node.js
Atsisiųskite ir įdiekite (nuoroda:
Mazgas-RAUDONAS
Vykdykite instrukcijas:
ngrok
Atsisiųsti:
Telegrama
Įdiekite programą savo išmaniajame telefone.
3 žingsnis: grandinės išdėstymas
* Abu įrenginiai turi tas pačias grandines
Vandens dalytuvas
-
Ultragarsinis jutiklis (vandens rezervuarui)
- GND - G.
- VCC - 5V
- ECHO - D5
- TRIGGERIS - D0
-
Ultragarsinis jutiklis (skirtas augintinio atstumui nuo dubenėlio)
- GND - G.
- VCC - 5V
- ECHO - D6
- TRIGGERIS - D7
-
Įkelti langelį
- ŽALIA - A+ (HX711)
- BALTAS - A- (HX711)
- JUODAS - E- (HX711)
- RAUDONA - E+ (HX711)
-
HX711 (apkrovos elementų stiprintuvas)
- GND - G.
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (180 °)
- GND - G.
- VCC - 5V
Maisto dozatorius
-
Ultragarsinis jutiklis (maisto bakui)
- GND - G.
- VCC - 5V
- ECHO - D5
- TRIGGERIS - D0
-
Ultragarsinis jutiklis (skirtas augintinio atstumui nuo dubenėlio)
- GND - G.
- VCC - 5V
- ECHO - D6
- TRIGGERIS - D7
-
Įkelti langelį
- ŽALIA - A+ (HX711)
- BALTAS - A- (HX711)
- JUODAS - E- (HX711)
- RAUDONA - E+ (HX711)
-
HX711 (apkrovos elementų stiprintuvas)
- GND - G.
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (nuolatinis sukimasis)
- GND - G.
- VCC - 5V
- KONTROLĖ - D8
4 žingsnis: amatai
Vandens dalytuvas
- Klijuokite servo prie dozatoriaus apatinės dalies viršaus (kaip parodyta nuotraukoje).
- Gręžkite nedidelę skylę vandens dozatoriaus rankenėlėje.
- Prijunkite servo galvutę prie rankenėlės viela (įsitikinkite, kad servo galvutė yra 0 padėtyje ir įsitikinkite, kad viela yra įtempta).
- Klijuokite vieną ultragarso jutiklį prie vidinės bako pusės, netoli jo viršaus (jutiklis nukreiptas žemyn).
- Klijuokite vieną ultragarsinį jutiklį žemiau vandens rankenėlės į išorę (įsitikinkite, kad jis yra pakankamai aukštas, kad vandens indas nepaveiktų jo rodmenų).
Maisto dozatorius
- Prisukite servo prie laikiklio (3D spausdinta dalis).
- Klijuokite piltuvą (3D spausdinta dalis) prie bako laikiklio (3D spausdinta dalis).
- Prijunkite rezervuaro laikiklį prie dozatoriaus stovo (3D spausdinta dalis) ir padėkite baką į vietą.
- Įdėkite verpimo dalį (3D spausdintą) į savo vietą ir per besisukančią guminę dozatoriaus dalį.
- Prisukite servo laikiklio dalį prie dozatoriaus stovo.
- Priklijuokite vieną ultragarso jutiklį prie vidinės bako dangčio pusės (jutiklis nukreiptas žemyn).
- Priklijuokite vieną ultragarsinį jutiklį prie bako laikiklio pusės, nukreiptos į vietą, kurioje jūsų augintinis valgys.
Įkėlimo langeliai
Klijuokite kiekvieną apkrovos elementą prie 3D atspausdinto pagrindo ir plokštės (apkrovos elemento rodyklė nukreipta žemyn)
5 žingsnis: Mosquitto
Atidarykite „Mosquitto“(„Windows“vartotojai: eikite į aplanką „Mosquitto“, atidarykite cmd ir įveskite „mosquitto -v“).
* Norėdami gauti vidinį kompiuterio IP adresą, paleiskite cmd ir įveskite „ipconfig“.
6 veiksmas: „Arduino IDE“
Atidarykite „Arduino IDE“ir vykdykite šio vadovo dalį „Įdiegti ESP8266 priedą„ Arduino IDE “:
Eikite į Įrankiai-> Lenta ir pasirinkite „LOLIN (WEMOS) D1 R2 & mini“.
Eikite į Sketch-> Include Library-> Add. ZIP Library… ir pridėkite 3 bibliotekas prie „Libraries.rar“failo.
Atidarykite eskizą „HX711Calibration“, įkelkite jį į abu ESP8266, paleiskite ir vykdykite instrukcijas (kodo pradžioje ir nuosekliajame monitoriuje), kad sukalibruotumėte apkrovos elementus (įsitikinkite, kad serijinio monitoriaus duomenų perdavimo sparta nustatyta į 115200 baudų).
* Užrašykite kalibravimo koeficientą ir nulinį poslinkį (vėlesniam naudojimui).
Atidarykite „FoodDispenser“ir „WaterDispenser“eskizus per IDE ir pakeiskite šiuos kintamuosius pagal savo nustatymus (faile „Settings.h“):
- WIFI_SSID
- WIFI_PASSWORD
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* Į MQTT_SERVER įveskite vidinį IP adresą iš veiksmo „Mosquitto“.
Įkelkite eskizus į du ESP8266 (po vieną kodą prie kiekvienos plokštės).
* Atkreipkite dėmesį, kad naudojome biblioteką „AsyncMqttClient“, o ne labiau paplitusią „pubsubclient“biblioteką, nes esp8266 užstrigo, kai buvo sujungta su biblioteka „HX711“.
* Jei nuspręsite keisti kodą, nepanaudokite „atidėjimo“ir „išeigos“funkcijų atgalinio ryšio funkcijose, nes tai sukels avarijas.
7 žingsnis: Ngrok
Išpakuokite atsisiųstą failą (iš nuorodos, esančios žingsnyje „Programinė įranga“).
Atidarykite „ngrok.exe“ir paleiskite komandą „ngrok http 1880“.
* Galite pasirinkti arčiausiai jūsų esantį regioną (au, eu, ap, us, jp, in, sa). Numatytasis yra mes.
Pavyzdžiui, vykdydami komandą: "ngrok http --region = eu 1880" (nustatykite regioną į Europą).
Dabar matysite savo žiniatinklio adresą, skirtą išoriniam naudojimui (šį adresą vadinsime YOUR_NGROK_ADDRESS).
8 žingsnis: mazgas-RAUDONAS
Atidarykite „Node-RED“(„Windows“vartotojai: atidarykite cmd ir įveskite „node-red“) ir eikite į https:// localhost: 1880 (jei tai neveikia, ieškokite adreso cmd lange, kuriame parašyta „Serveris dabar bėga ).
Atidarykite meniu (viršutiniame dešiniajame kampe) ir paspauskite „Tvarkyti paletę“.
Eikite į skirtuką „Įdiegti“, ieškokite ir įdiekite šiuos modulius:
- mazgas-raudonas-prisidėti-išlieka.
- node-red-contrib-cron-plus.
- mazgas-raudonas-prisideda-ui-led.
- mazgas-raudonas-prietaisų skydelis.
- node-red-contrib-telegrambot.
Eikite į meniu-> Importuoti ir įkelti srauto failą (išskleiskite pridėtą RAR failą ir įkelkite json failą).
Žiūrėkite pridėtus vaizdus, kad paaiškintumėte apie srautą.
Turite pakeisti šiuos mazgus naudodami savo nustatymus:
- Atnaujinkite mazgo „Telegramos siuntėjas“profilį naudodami savo roboto naudotojo vardą ir prieigos raktą (naudokite šį vadovą:
- Srauto apačioje pakeiskite „Ngrok Address“ir „Telegram Chat Id“mazgų naudingąsias apkrovas (gaukite pokalbio ID naudodami aukščiau esančioje nuorodoje esantį „Telegram“vadovą).
-
Apatinėje srauto dalyje yra nustatymų mazgai - pakeiskite juos pagal savo poreikius:
- Aktyvinti gyvūno valgymo/gėrimo įspėjimus.
- Apibrėžkite atstumą, kuriuo reikia suaktyvinti įspėjimą apie valgymą/gėrimą.
- Apibrėžkite dubenų ir rezervuarų duomenų apdorojimą.
- Pakeiskite dozavimo laiką (kiek laiko dozės vyksta - automatinis režimas ir mygtuko paspaudimas).
- Nustatykite maisto dubenėlio perpildymo slenksčio procentą (nutraukite automatinį maisto tiekimą, jei dubenyje yra pakankamai maisto).
Išskleiskite srautą (viršuje dešinėje).
* Tik pirmą kartą įdiegę, derinimo lange pamatysite įspėjimą apie trūkstamą failą „persistance.json“. Nesijaudinkite dėl to, nes tuo metu, kai nustatysite maitinimo laiką arba pakeisite automatinį vandens jungiklį, jis inicijuos šį failą ir nebebus šio įspėjimo.
Prietaisų skydelį galite peržiūrėti adresu https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (jei esate prisijungę prie to paties LAN kaip serveris) arba YOUR_NGROK_ADDRESS/ui (iš visur).
9 žingsnis: Apvyniokite
Tikimės, kad ši pamoka buvo informatyvi ir lengvai skaitoma, suprantama ir įgyvendinama.
Nesivaržykite mūsų bet ko paklausti.
Rekomenduojamas:
Dabar nereikia šlapintis, naminių gyvūnėlių elgesio reguliavimo prietaisas, neleidžiantis katėms šlapintis jūsų namuose: 4 žingsniai
Jokio šlapinimosi, naminių gyvūnėlių elgesio reguliavimo prietaisas, neleidžiantis katėms šlapintis jūsų namuose: mane taip vargino kačiukas, kad jai patinka šlapintis ant mano lovos, aš patikrinau viską, ko jai reikia, taip pat nuvedžiau pas veterinarą. Išsiaiškinęs viską, ką galiu galvoti, ir įsiklausęs į gydytojo žodį, suprantu, kad ji tiesiog elgiasi blogai. Taigi t
Išmanusis naminių gyvūnėlių tiektuvas: 11 žingsnių
„Smart Pet Feeder“: esu Belgijos Howest Kortrijk akademijos studentas. Aš gaminau lesyklėlę specialiai katėms ir šunims. Šį projektą sukūriau savo šuniui. Daug kartų nesu namie, kad pavaišinčiau savo šunį vakare. Dėl to mano šuo turi laukti, kol gaus maistą. Su th
Pramoninio stiprumo katės (naminių gyvūnėlių) tiektuvas: 10 žingsnių
Pramoninio stiprumo katės (naminių gyvūnėlių) lesykla: keliauju kelias savaites vienu metu ir turiu šias laukines laukines kates, kurias reikia šerti, kol esu toli. Jau kelerius metus naudoju modifikuotus tiektuvus, įsigytus iš „Amazon“, kurie valdomi naudojant aviečių pi kompiuterį. Nors mano
„Pasidaryk pats“paprasčiausias automatinis naminių gyvūnėlių tiektuvas su „Arduino“: 3 žingsniai
„Pasidaryk pats“paprasčiausias automatinis naminių gyvūnėlių tiektuvas su „Arduino“: Sveiki naminių gyvūnėlių mylėtojai! Giliai viduje mes visi norime turėti savo namuose mielą mažą šuniuką ar kačiuką ar tikriausiai net žuvų šeimą. Tačiau dėl savo užimto gyvenimo dažnai abejojame savimi: „Ar galėsiu pasirūpinti savo augintiniu?“. Pagrindinė atsakomybė
Nuotoliniu būdu valdomas naminių gyvūnėlių tiektuvas: 5 žingsniai
Nuotoliniu būdu valdomas naminių gyvūnėlių tiektuvas: šioje instrukcijoje aš parodysiu, kaip galite sukurti paprastą nuotoliniu būdu valdomą naminių gyvūnėlių lesyklą. Naudodami šį paprastą „arduino“projektą, galite maitinti savo augintinį naudodami nuotolinio valdymo pultą. Viskas, ko jums reikia, yra „Arduino Uno“lenta (arba panaši) , plastikinis butelis, servo