Tartalomjegyzék:

A végső barkács automatikus haladagoló: 2. szint: 10 lépés (képekkel)
A végső barkács automatikus haladagoló: 2. szint: 10 lépés (képekkel)

Videó: A végső barkács automatikus haladagoló: 2. szint: 10 lépés (képekkel)

Videó: A végső barkács automatikus haladagoló: 2. szint: 10 lépés (képekkel)
Videó: Fűrész 8 (teljes film magyarul) 2024, November
Anonim
Az Ultimate DIY automatikus haladagoló: Tier 2
Az Ultimate DIY automatikus haladagoló: Tier 2

A Tier 2 Feeder nagy lépést jelent a Tier 1 -től. Ez a verzió ESP8266 wifi modult használ az arduino óra szinkronizálására az etetési ütemezés és a tartály világításának szabályozásához.

1. lépés: Amire szüksége lesz:

Minden a Tier 1 -ben, kivéve a világítás időzítőjét

  • ESP8266-01
  • FTDI programozó (az ESP8266 programozásához)
  • Forrasztópáka
  • 5V RGBW LED szalag (SK6812 IP 65, nappali fehér, ezt használtam)
  • A fénycsíknak vízállónak kell lennie, mivel a víz elpárolog a tartályból, és lecsapódik a tartály fedelére és világít.
  • 5 V -os tápegység (én ezt használtam, az arduino NEM tudja önállóan táplálni az összes lámpát.).
  • Nyugodtan használjon bármilyen kívánt 5 V -os tápegységet, csak győződjön meg arról, hogy elegendő energiát biztosít az összes lámpa ellátásához.
  • 3.3V feszültségszabályozó
  • Az ESP8266 3.3V -on működik, ezért minden más 5V, könnyebb az 5. lépést lecsökkenteni 3.3 -ra, mint a 12.3 -ról 3.3 -ra
  • Ellenállások (1kOhm x2, 2kOhm x2 (vagy 1kOhm x4), 10kOhm x1)
  • pillanatragasztó
  • Forró ragasztó
  • 3D nyomtatott alkatrészek x8 (STL fájlok mellékelve)
  • Huzalhúzók (ezeket a hasznos dolgokat ajánlom)
  • Kenyeretábla (dolgok protopingolásához)
  • Protoboard/Projekt tábla (a végső összeszereléshez)
  • Szabványos, háromágú számítógép tápkábel.
  • (opcionális) Mobiltelefon vibrációs motor (a garat felkavarásához) (ezek közül egyet használtam)
  • Telepítse ezeket az arduino könyvtárakat:
  • ESP8266WiFi.h
  • WiFiUdp.h
  • TimeLib.h
  • Alkonyat2Dawn.h
  • Adafruit_NeoPixel.h
  • Türelem.

2. lépés: Hogyan működik?

Az ESP8266 megkapja a Unix időt egy NIST szervertől, és továbbítja azt az arduino -nak. Az arduino ezt az időt használja a helyi napfelkelte és napnyugta meghatározására, valamint belső órájának szinkronizálására annak meghatározására, hogy hány perc telt el éjfél óta. Az éjfél óta eltelt idő felhasználásával az arduino beállítja a fények színét, és tudja, mikor kell aktiválni az adagolót, amely ugyanaz a mechanizmus, mint a Tier 1 freeder. Az általam írt arduino kód alapértelmezett beállításai szerint a fények nappali/éjszakai ciklusra vannak állítva, amelyek a másodpercig szabályozhatók a sima elhalványulás érdekében, és szinkronizálva vannak az Ön helyének napfelkeltével és napnyugtával. Az arduino naponta egyszer visszaállítja magát, hogy újra szinkronizálja magát a NIST szerverrel, és biztosítsa, hogy ne legyen időzítő túlcsordulás

3. lépés: Az ESP8266 programozása

Az ESP8266 programozása
Az ESP8266 programozása

Oké, tehát az ESP8266 programozható barom.

Nem kenyérpirítótábla -barát, és ha női áthidaló vezetékei vannak, azt javaslom. Ha az ESP8266 -ot az enyémhez hasonló firmware nélkül telepítették, akkor frissítenie kell a firmware -t. Ehhez használja az FTDI programozót, rengeteg utasítás található erre vonatkozóan máshol, de a kényelem érdekében bekötési rajzot adtam meg. Győződjön meg arról, hogy az FTDI programozó 3,3 V -ot biztosít! Az 5V megsüti az ESP8266 készülékét. A diagramomban a GPI01 és a GND közötti narancssárga színt csak az ESP8266 firmware -jének villogásakor szabad elkészíteni. A GPI01 -nek kapcsolat nélkül kell maradnia, amikor tényleges arduino kódot tölt fel a modulba.

Ezután fel kell töltenie az ESP8266 tényleges kódját. Ezúttal használja az FTDI programozót az arduino IDE -vel együtt. Ezenkívül le kell töltenie és telepítenie kell az összes használt könyvtárat. A kód feltöltésére használt beállítások az arduino 1.8 programmal az elején a megjegyzés részében vannak. BIZTOSAN frissítse a kódot wifi hálózatával és jelszavával.

Lépés: Csatlakoztassa az ESP8266 -at az Arduino -hoz

Csatlakoztassa az ESP8266 -at az Arduino -hoz
Csatlakoztassa az ESP8266 -at az Arduino -hoz
Csatlakoztassa az ESP8266 -at az Arduino -hoz
Csatlakoztassa az ESP8266 -at az Arduino -hoz

A kód feltöltése után leválaszthatja az FTDI programozót és csatlakoztathatja az ESP8266 -at az ábra szerint. Az ellenállásokat feszültségosztóként használják annak biztosítására, hogy az arduino ne szivattyúzzon 5 V -ot az ESP8266 kommunikációs és visszaállítási csapjaiba. Végezze el ezt a lépést egy kenyérlapon a hibakereséshez, majd később feltesszük a proto-boardra.

Miután az ESP8266 csatlakoztatva van, látnia kell a kék fényt, amikor az áramhoz van csatlakoztatva, néhány másodperc múlva meg kell kapnia a Unix időt az internetről, és elküldi azt az arduino -nak, akkor üres üres hurok van (), hogy a visszaállításig ott ül, csakúgy, mint a Tier 1 feeder.

Annak érdekében, hogy az ESP8266 működjön, fel kell töltenie a kódot a következő lépésből az arduino -ba, és meg kell nyitnia a soros monitort.

5. lépés: Az Arduino kód feltöltése és hibaelhárítás

Az Arduino kód feltöltése és hibaelhárítás
Az Arduino kód feltöltése és hibaelhárítás

Most töltse fel a kódot az arduino nano -ba, nyissa meg a soros monitort, valami hasonlót kell látnia a fenti példához. Az arduino alaphelyzetbe áll, amikor kinyitja a soros monitort, így az ESP8266 egyidejűleg visszaáll. a soros monitor 1970. január 1 -jén éjféltől kezdi számolni a másodperceket, amíg az ESP8266 el nem küldi az aktuális Unix időt. Amikor ez megtörténik, ezt látnia kell:

3-15 másodpercbe telhet, amíg ez működik, ezért légy türelmes. Ritkán láttam, hogy 10 másodpercnél tovább tart, de adjon 15 -öt, mielőtt elkezdené a hibaelhárítást.

Ha az ESP8266 nem küldi az időt az arduino -nak, próbálja meg az alábbi lépéseket:

· Győződjön meg arról, hogy minden PONTOSAN van bekötve, ahogyan kellene

· Ellenőrizze, hogy a megfelelő wifi SSID -t és jelszót helyezte -e be az ESP8266 -ba, ha nem, akkor vissza kell kapcsolnia az FTDI programozóhoz, hogy feltöltse a helyes információkat, majd újra bekötje az arduino -ba. (egy szuper hosszú SSID vagy jelszó problémákat okozhat, de a wifi hálózatom mindkét területen több mint 20 karaktert tartalmaz, így a legtöbb otthoni hálózatnak rendben kell lennie)

· Ellenőrizze az útválasztó adminisztrációs oldalát (ha lehetséges), hogy nincs -e csatlakoztatott eszköz, amely csak akkor jelenik meg, ha az ESP8266 be van kapcsolva. Annak biztosítása érdekében, hogy bekapcsolva maradjon, amíg ezt ellenőrzi (az arduino letiltja), csatlakoztassa újra az ESP8266 alaphelyzetbe állító vezetékét közvetlenül a 3,3 V -ra, és tartsa HIGH -ban, és az ESP8266 bekapcsolva marad. Ellenőrzés után mindenképpen vonja vissza ezt.

6. lépés: Az Arduino kód testreszabása

Miután az ESP8266 csatlakoztatva van, és időt küld az arduino -nak, a programozott arduino egyszerűen kiszámolja az időt, és megjelenít néhány más hibakeresési információt, például napkelte és napnyugta. Ezen értékek egy részét személyre szabhatjuk az arduino kódjában, a többi egyszerűen ott van, így a teljes rendszert hibakereshetem.

Ha jobban szeretné megérteni, hogyan számítja ki az arduino a napfelkeltét és a napnyugtát, olvassa el a Dusk2Dawn Library dokumentációját. Meg kell adnia a szélességi és hosszúsági fokokat (ha megváltoztatja a tartózkodási hely nevét, győződjön meg arról, hogy az mindenhol megváltozik a kódban!) A Dusk2Dawn a GPS -koordinátáit (amelyeket a Google térképen talál) és a helyi időt használja határozza meg, hogy mikor kel fel és nyugszik le a nap éjfél után perceken belül. A minfromMid változó az éjfél óta eltelt pillanat, és összehasonlítják a napfelkeltével, napnyugtával, az etetési időkkel és az alkonyattal, hogy megmondja az arduino -nak, hogy mikor mit tegyen. Feltétlenül frissítse az időzónáját is, az alapértelmezett EST.

Miután beállította a tartózkodási helyét, állítsa be az alkonyati időt, hogy megmondja az arduino -nak, hogy mennyi ideig szeretne alkonyodni. Ez határozza meg, hogy mennyi ideig tart a nappali és éjszakai időszak, és percben van megadva. Az alapértelmezett érték 90 perc, így az RGBW fények elhalványulnak nappalról éjszaka vagy más módon ennyi idő alatt.

Ezután állítsa be a kívánt etetési időket. A tényleges etetési időket a getTime () metódusban állítjuk be, hogy az etetést szinkronban tartsuk nappal és éjjel. Ha azt szeretné, hogy a halakat minden nap ugyanabban az időben etessék, írja be a relatív beállításokat, és használja a kezdeti beállításokat a kód elején. Ne feledje, hogy ezek az idők éjfél óta percekben értendők. A kezdeti, kódolt etetési idők használata megzavarhatja a világítást, ha az etetési idő a szürkület és a nappali fény között (napkeltekor és napnyugtakor) eltűnik. A kód alapértelmezett értéke 15 perccel naplemente és napkelte előtt, illetve után. Ha kívánja, további etetési időket is hozzáadhat.

Ezután állítsa be azt az időt, amikor az arduino -t vissza kívánja állítani. Ez biztosítja, hogy az időzítések egyike sem túlcsordul, és nem szinkronizálja újra az órát. Azt javaslom, hogy ezt a nap közepén tegye meg, amikor távol van, mivel a visszaállítási folyamat következtében a fények teljes fényerőben jelennek meg. Napközben ez nem jelent problémát a halak számára, de éjszaka vagy reggel/este a fényvillanás zavarhatja a halakat, vagy néhány másodpercre tönkreteheti a tartály megjelenését, miközben élvezi.

Végül ellenőrizze a LED -ek számát a csíkban, a My strip 60 -at tartalmaz, de frissítse ezt az értéket a beállítási kódban, akárhány LED -et használ.

7. lépés: A világítás

A Világítás
A Világítás

Csatlakoztassa a LED szalagot, ha még nem tette meg.

Tápellátás (piros) 5 V -ig, földelés (fehér) a földhöz, jel (zöld) a 6 -os érintkezőhöz (vagy bármihez, amire beállította). Az arduino alaphelyzetbe állítása után a lámpák teljes fényerőben lesznek, amíg az ESP8266 el nem küldi az időt az arduino -nak, és meghatározza, hogy hol van a világítási ciklusban. A legjobb, ha ezt este vagy éjszaka állítja be, mivel a fényváltás drasztikusabb lesz. Ha a fények 30 másodpercen belül nem változnak, állítsa vissza az arduino -t. Az alaphelyzetbe állító kódomnak működnie kell, de szakmailag nem vagyok programozó, ezért előfordulhat, hogy még mindig van néhány hiba itt vagy ott. Ellenőrizheti, hogy a visszaállítás működik-e, ha a visszaállítási időt egy percre állítja a kód újbóli feltöltése és várakozás után (a visszaállítás másodperce véletlenszerű, tehát 1-2 percet is igénybe vehet a tényleges visszaállítás). Ugyanezt a trükköt később is elvégezheti bekapcsolásával győződjön meg arról, hogy a szervó működik az adagolási idő megváltoztatásával. Csak győződjön meg róla, hogy módosítja ezeket az időket, mielőtt leállítja a futást.

Az alapértelmezett világítási ütemterv nagyon egyszerű:

Éjszaka az összes lámpa nem világít, kivéve a kéket, amely a legalacsonyabb értéken van (2/255). Ahogy közeledik a napfelkelte, a kék a teljes intenzitásra nő (255), amelyet a szürkület kezdetekor eléri. Alkonyatkor a piros és a zöld felfelé emelkedik 255 -ről. Napkeltekor a piros, a kék és a zöld szín 255, de a nappali fény fehér, így a következő 2 percben a piros, a kék és a zöld elhalványul, és a fehér elhalványul. A nap hátralévő részében a fehér teljes intenzitású, napnyugta előtt 2 perccel, amikor elhalványul, és újra piros, kék és zöld színű lesz. Napnyugtakor a világítás ismét alkonyatba kerül, kivéve, hogy ezúttal a piros és a zöld teljes erővel indul és elhalványul, amikor az éjszaka beköszöntével a kék teljes erővel marad. Innen a kék lassan visszahalványul a legalacsonyabb értékére, amelyet éjfélkor éri el.

Más kód létezik az arduino vázlat végén más világítási módokhoz, ezért bátran játsszon a matematikával, hogy a világítás másként halványuljon, vagy a színeket a nap különböző időszakaiban változtassa meg. Ne feledje, hogy a matematika lebegő formátumban történik, de a színértékeknek inteknek kell lenniük, ezért a kettő közötti átalakításra szükség van minden új megvilágítási matematikával.

8. lépés: Az alkatrészek nyomtatása

Ha még nem nyomtatta ki az ehhez a réteghez tartozó alkatrészeket, tegye meg. A ház körülbelül akkora, mint egy közepes méretű szűrőegység, és egész éjszakába telt, mire kinyomtattam. Tisztítsa meg az alkatrészeket, helyezze be a válaszfal elválasztót úgy, hogy a horony felfelé és a lekerekített széle kifelé nézzen. A szervó ugyanúgy van felszerelve, mint a Tier 1, és ha cserél egy Tier 1 rendszert, akkor a garat, a fedél és az adagoló kerék azonosak, így nem kell újranyomtatni őket, ha működnek.

A.zip mappa két STL fájlkészletet tartalmaz, az egyik az általam használt eredeti SM22 szervomotorhoz, a másik a sokkal gyakoribb SG90 szervóhoz. Mindkettő tartalmazza a Fusion 360 fájlokat, ha módosítani akar/kell módosítani valamelyik alkatrészt. Az SM22 STL -k határozottan illeszkednek egymáshoz, mivel ezeket használtam. Nem nyomtattam ki és nem teszteltem az SG90 alkatrészeket.

Az anyagoknál azt javaslom, hogy élelmiszerbiztos műanyagot használjon. A Raptor PLA -t használtam a makergeeks -től, amely rengeteg színben kapható, és szuper erős, miután 10 percig izzította. Ezt megteheti az alkatrészek forralásával, amit javaslom, csak a keréknél, ha nem teljesen illeszkedik, mivel a lágyítás körülbelül 0,3%-kal zsugorítja az alkatrészeket.

A házat az oldalára nyomtam (a tetejével oldalra és a nyitott oldallal felfelé). Ez sokkal kevesebb támasztóanyagot használ, mint más irányok. A garat fejjel lefelé nyomtatható, hogy elkerülje a rajta lévő összes hordozóanyagot. A garat fedelét is fejjel lefelé kell nyomtatni, de a nagy fedelet jobb oldalával felfelé kell nyomtatni.

Van egy „endstop” darab is, amely támogatja a ház alját. Miután néhány hétig a helyén hagytam az adagolót, észrevettem, hogy a tápellátás súlyától kezdve megereszkedett és meghajlott, és ez befolyásolta a garat táplálóképességét a kerékbe. Csak ragasztjon 1-2 végállást a ház aljára, hogy minden vízszintben maradjon.

9. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

Használjon protoboardot minden csatlakoztatásához. Ugróhuzalokat használtam, így nem kellett annyira forrasztani, de itt fogsz a legtöbbet forrasztani. Mindaddig, amíg a kapcsolatok mindegyike megegyezik, a rendszer ugyanúgy fog működni, mint a kenyérsütő táblán. Összeforrasztottam a fejléceket, hogy tápellátást biztosító "síneket" hozzak létre a földre, 5V, 3,3V, valamint a szervo és a nem tápellátás 3,3V jeleit az ESP8266-ra (RX, CH_PD és RST). Az összes csapot a protoboard alsó oldala felé irányítottam, az alkatrészekkel a tetején.

Ha elkészült a protoboard, helyezze be a ház felső üregébe, és csatlakoztassa a szervo motort. A világító kábelek kimegyek a szekrény fedelének bevágásából, és a tápegység illeszkedik az alsó üregbe. Az alsó üreg lekerekített, és enyhe lejtéssel rendelkezik, hogy elvezetje a vizet, amely valahogy képes bejutni a házba az elektronikától távol. Csatlakoztassa a tápegység pozitív és negatív kivezetéseit a rendszerhez, és tegye rá az oldalsó fedelet.

Ha még nem tette meg ezt a tápegységgel, vágja le a tápkábelnek azt a végét, amely nem csatlakozik a falhoz, és húzza le a vezetékeket annyira, hogy a tápegység megfelelő csatlakozóihoz tudja csatlakoztatni. Ha krimpelt végei vannak, amelyeket fel tud tenni a végeire, akkor javaslom a használatukat, ha nem a csupasz réz jó lesz, csak ügyeljen arra, hogy semmi ne zárkózzon el! Ne feledje, hogy ez csatlakoztatva lesz az otthoni fali áramellátáshoz. LÉGY BIZTONSÁGOS, és SOHA ne dolgozzon a hálózatba kapcsolt rendszerrel.

Ezután a fénycsíkot hozzá kell adni a tartályhoz. Vegye le a tartály fedelét és szárítsa meg teljesen. A lámpák hozzáadása előtt győződjön meg arról, hogy a fedél felülete tiszta és száraz. A csík, amelyet kaptam, ragasztós hátlappal rendelkezik, ez nem segíti a fénycsík rögzítését, de a fedél peremén (vagy bárhol, ahol elhelyezi) helyezkedik el., így nem kellett huzalokat meghosszabbítanom. Csak győződjön meg arról, hogy minden szabadon lévő vezetéket vízálló anyaggal borított, mielőtt visszahelyezi a tartály fedelét. A végeket forró ragasztóval használtam, de ez nem biztos, hogy hosszú távon működik. Miután a lámpákat úgy rendezték el, ahogyan tetszik, ragasztja őket a helyükre. A sarkokban extra ragasztót kellett használnom, mivel a LED szalag felemelkedett. Hagyja a ragasztót néhány percig száradni, mielőtt visszahelyezi a tartály fedelét, csak hogy megbizonyosodjon arról, hogy semmi nem csöpög be. Ha a fedél vissza van helyezve, egyszerűen csatlakoztassa a vezetékeket az arduino -hoz.

Az adagolóegység pontosan megegyezik a Tier 1 adagolóval. A szervó illeszkedik az üregébe, és az adagoló kereket ragasztják rá. Az adagoló kerék zsebének a garat felé kell mutatnia, amikor a szervó 0 helyzetben van (és 180 -as helyzetben a tartály felé kell forognia). Ha az opcionális vibrációs motort használja, forrasztjon rá néhány vezetékes vezetéket, és helyezze be a garatba, a szervoüregben üreg van. Küldje el a motor vezetékét ugyanazon az úton, mint a szervo vezetékek, és csatlakoztassa azokat a földhöz és a motor csapjához az arduino -n. A garatot forró ragasztóval rögzítse az alaphoz.

Miután minden csatlakoztatva van, csatlakoztathatja a tápegységet a falhoz. Az arduino -nak át kell esnie az indítási sorrendjén, és a fények változni fognak, amikor eljön az ideje. Ha nem, állítsa alaphelyzetbe a táblát, amíg meg nem érkezik az ideje. A helyére ragasztottam a burkolat fedelét, de az oldalsó burkolatot ragasztás nélkül hagytam, hogy hozzáférhessek az arduino-hoz, és visszaállíthatom vagy átprogramozhatom.

Gratulálunk! Elkészült a Tier 2 halas etetője! Csodálja meg a szép világítást és a halak etetésének képességét, ha távol van! A következő napokban feltétlenül ellenőrizze a rendszert, hogy megbizonyosodjon arról, hogy minden megfelelően működik, és hogy a halakat valójában etetik.

10. lépés: Amire figyelni kell először:

Amire figyelni kell először
Amire figyelni kell először
Amire figyelni kell először
Amire figyelni kell először
Amire figyelni kell először
Amire figyelni kell először

Amikor először beállítottam az enyémet, véletlenül rossz jelvezetékre kötöttem a szervót, így a halakat nem etették több napig, amíg rájöttem a hibára (éjszaka kézzel etettem őket a következő hiba miatt). Próbálja meg úgy beállítani az etetési időket, hogy mikor legyen a legnagyobb valószínűséggel a közelében, hogy megerősítse, hogy halait etették.

Egy másik hiba, amire figyelni kell, az a visszaállítás. Ha például napnyugta után érkezik haza, és a tartálya még mindig világít, akkor valószínű, hogy a visszaállítás funkció sikertelen volt, és az arduino soha nem kapta meg az időt az ESP8266 -tól. Ez azt is jelenti, hogy a halakat az alaphelyzetbe állítás óta nem etették, így valószínűleg maga kell etetnie őket, miközben megnyomja az arduino reset gombját. 99% -ban biztos vagyok benne, hogy ezt megszüntettem, de a kódolás nem a szakmám, ezért mindenképpen vigyázzon rá.

Ügyeljen arra is, hogy hetente vagy kéthetente ellenőrizze a garatban lévő ételeket, töltse fel újra, és győződjön meg arról, hogy semmi nem romlik el.

Ha nyaralni készül, indulás előtt végezzen vízcserét és egyéb alapvető tartálykarbantartást. Az etető csak biztosítja, hogy az étel és a világítás ne legyen a hala vége, ha túl sokáig elutazik. Soha többé nem kell nyaraló etetőt használni!

Ajánlott: