Obsah:

Ultimate DIY automatický podávač rýb: krok 2: 10 krokov (s obrázkami)
Ultimate DIY automatický podávač rýb: krok 2: 10 krokov (s obrázkami)

Video: Ultimate DIY automatický podávač rýb: krok 2: 10 krokov (s obrázkami)

Video: Ultimate DIY automatický podávač rýb: krok 2: 10 krokov (s obrázkami)
Video: 6 letý chlapec se ztratil. Když ho našli, byli v šoku z toho, co leželo vedle něj... 2024, Júl
Anonim
Ultimate DIY automatický podávač rýb: Úroveň 2
Ultimate DIY automatický podávač rýb: Úroveň 2

Podávač Tier 2 je veľkým krokom oproti úrovni 1. Táto verzia používa wifi modul ESP8266 na synchronizáciu hodín arduina na ovládanie plánu kŕmenia a osvetlenia nádrže.

Krok 1: Čo budete potrebovať:

Všetko na úrovni 1 okrem svetelného časovača

  • ESP8266-01
  • Programátor FTDI (na programovanie ESP8266)
  • Spájkovačka
  • 5V RGBW LED pás (SK6812 IP 65, denné svetlo biely, použil som tento)
  • Svetelný pás musí byť vodotesný, pretože voda sa z nádrže odparuje a kondenzuje na veku nádrže a samotných svetlách.
  • Napájanie 5V (použil som toto, arduino NEMÔŽE napájať všetky svetlá samostatne.).
  • Neváhajte použiť akýkoľvek požadovaný 5V zdroj, uistite sa však, že poskytuje dostatok energie na napájanie všetkých svetiel.
  • Regulátor napätia 3,3V
  • ESP8266 beží na 3,3 V, preto je všetko ostatné na 5 V, je jednoduchšie zredukovať 5 na 3,3, než znížiť na 12 až 3,3.
  • Rezistory (1 kOhm x2, 2 kOhm x2 (alebo 1 kOhm x4), 10 kOhm x1)
  • super lepidlo
  • Horúce lepidlo
  • 3D tlačené diely x8 (k dispozícii sú súbory STL)
  • Odstraňovače drôtov (odporúčam tieto užitočné veci)
  • Breadboard (pre protokolovanie vecí)
  • Protoboard/doska projektu (na konečnú montáž)
  • Štandardný trojžilový napájací kábel k počítaču.
  • (voliteľné) Vibračný motor mobilného telefónu (na miešanie zásobníka) (použil som jeden z nich)
  • Nainštalujte tieto arduino knižnice:
  • ESP8266WiFi.h
  • WiFiUdp.h
  • TimeLib.h
  • Dusk2Dawn.h
  • Adafruit_NeoPixel.h
  • Trpezlivosť

Krok 2: Ako to funguje

ESP8266 získava unixový čas zo servera NIST a odovzdáva ho arduinu. Arduino potom použije tento čas na určenie miestneho východu a západu slnka a synchronizáciu svojich vnútorných hodín na určenie, koľko minút uplynulo od polnoci. Na základe tohto času, ktorý uplynul od polnoci, arduino nastaví farbu svetiel a vie, kedy aktivovať podávač, čo je rovnaký mechanizmus ako vysávač 1. úrovne. Predvolené nastavenia v kóde arduino, ktoré som napísal, majú svetlá nastavené na denný/nočný cyklus, ktoré je možné ovládať až do druhého pre plynulé vyblednutie a sú synchronizované s východom a západom slnka vašej polohy. Arduino sa tiež resetuje raz denne, aby sa znova synchronizoval so serverom NIST a zaistil, aby nedošlo k pretečeniu časovača

Krok 3: Programovanie ESP8266

Programovanie ESP8266
Programovanie ESP8266

Dobre, takže ESP8266 je bastard na programovanie.

Nie je priateľské k doske a ak máte ženské prepojovacie vodiče, odporúčam ich použiť. Ak váš ESP8266 prišiel bez nainštalovaného akéhokoľvek firmvéru, ako som urobil ja, budete musieť firmvér aktualizovať. Na to použite programátor FTDI, inde je veľa návodov, ako to urobiť, ale pre pohodlie som poskytol schému zapojenia. Uistite sa, že programátor FTDI poskytuje 3,3 V! 5V bude vyprážať váš ESP8266. V mojom diagrame by mal byť oranžový zapojený medzi GPI01 a GND vykonaný iba pri blikaní firmvéru ESP8266. Pri odosielaní skutočného kódu arduino do modulu by GPI01 mal zostať nepripojený.

Ďalej budete musieť nahrať skutočný kód ESP8266. Tentoraz použite programátor FTDI spolu s arduino IDE. Tiež si budete musieť stiahnuť a nainštalovať všetky použité knižnice. Nastavenia použité na nahranie kódu s arduino 1.8 sú v komentovanej časti na začiatku. Uistite sa, že kód aktualizujete pomocou siete Wi -Fi a hesla.

Krok 4: Pripojte ESP8266 k Arduinu

Pripojte ESP8266 k Arduinu
Pripojte ESP8266 k Arduinu
Pripojte ESP8266 k Arduinu
Pripojte ESP8266 k Arduinu

Akonáhle je kód nahraný, môžete odpojiť programátor FTDI a pripojiť ESP8266, ako je znázornené na obrázku. Rezistory sa používajú ako rozdeľovače napätia, aby sa zabezpečilo, že arduino nečerpá 5V do komunikácie a resetovacích pinov ESP8266. Tento krok vykonajte na doske s chlebom na ladenie, neskôr ho dáme na dosku.

Akonáhle je ESP8266 zapojený, mali by ste vidieť modré svetlo blikajúce, keď je pripojené k napájaniu, o niekoľko sekúnd neskôr by malo dostať Unixový čas z internetu a odoslať ho do arduina, potom má prázdnu prázdnu slučku (), že zapadne, kým sa nevynuluje, rovnako ako podávač 1. úrovne.

Aby ste sa uistili, že ESP8266 funguje, budete musieť z nasledujúceho kroku nahrať kód do arduina a otvoriť sériový monitor.

Krok 5: Nahranie kódu Arduino a riešenie problémov

Odovzdanie kódu Arduino a riešenie problémov
Odovzdanie kódu Arduino a riešenie problémov

Teraz nahrajte kód do arduino nano, otvorte sériový monitor, mali by ste vidieť niečo ako príklad vyššie. Arduino sa resetuje, keď otvoríte sériový monitor, takže ESP8266 sa resetuje súčasne. sériový monitor začne počítať sekundy od polnoci 1. januára 1970, kým mu ESP8266 neodošle aktuálny unixový čas. Keď sa to stane, mali by ste vidieť toto:

Môže to trvať 3-15 sekúnd, kým to zafunguje, takže buďte trpezliví. Málokedy som videl, že to trvá dlhšie ako 10 sekúnd, ale dajte tomu 15 minút, než začnete s riešením problémov.

Ak váš ESP8266 neposiela čas do arduina, vyskúšajte tieto kroky:

· Zaistite, aby bolo všetko zapojené PRESNE tak, ako má

· Dvakrát skontrolujte, či ste do ESP8266 vložili správne SSID a heslo wifi, ak nie, budete ho musieť pripojiť späť k programátoru FTDI, aby nahral správne informácie, a potom ho znova prepojte s arduino. (Veľmi dlhý SSID alebo heslo môže spôsobovať problémy, ale moja sieť Wi -Fi má v oboch poliach viac ako 20 znakov, takže väčšina domácich sietí by mala byť v poriadku)

· Na stránke administrátora smerovača (ak je to možné) nájdete pripojené zariadenie, ktoré sa zobrazuje iba vtedy, keď je zapnutý ESP8266. Aby ste sa uistili, že zostane zapnutý, kým to začiarknete (arduino ho deaktivuje), znova zapojte kábel vedúci k resetovaciemu kolíku ESP8266 priamo na 3,3 V, pričom pri jeho VYSOKOM nastavení bude ESP8266 zapnutý. Po kontrole to určite vráťte.

Krok 6: Prispôsobenie kódu Arduino

Akonáhle je váš ESP8266 pripojený a odošle čas do arduina, naprogramované arduino jednoducho spočíta čas a zobrazí niekoľko ďalších bitov ladiacich informácií, ako je východ a západ slnka. Niektoré z týchto hodnôt môžeme prispôsobiť v kóde arduina, ostatné sú jednoducho tam, aby som mohol ladiť celý systém.

Ak chcete lepšie porozumieť tomu, ako arduino počíta východ a západ slnka, prečítajte si dokumentáciu z knižnice Dusk2Dawn. Budete musieť zadať svoju zemepisnú šírku a dĺžku (ak zmeníte názov svojej polohy, uistite sa, že je všade v kóde zmenená!) Dusk2Dawn používa vaše súradnice GPS (ktoré nájdete na mapách Google) a miestny čas, aby určiť, kedy slnko vychádza a zapadá v minútach od polnoci. Premenná minfromMid je aktuálna minúta od polnoci a porovnáva sa s východom, západom, časom kŕmenia a súmrakom, aby arduino povedal, kedy má čo robiť. Nezabudnite aktualizovať aj svoje časové pásmo, predvolené je EST.

Akonáhle je vaša poloha nastavená, nastavte čas súmraku, aby arduino povedal, ako dlho chcete, aby bol súmrak. Toto určuje, ako dlho trvá obdobie medzi dňom a nocou, a je uvedené v minútach. Predvolená hodnota je 90 minút, takže svetlá RGBW v takom čase zhasnú zo dňa na noc alebo naopak.

Ďalej nastavte požadované časy kŕmenia. Skutočné časy kŕmenia sú nastavené v metóde getTime (), aby boli kŕmenia synchronizované s dňom/nocou. Ak chcete, aby sa vaše ryby namiesto toho kŕmili každý deň v rovnakom čase, komentujte relatívne nastavenia a použite počiatočné nastavenia na začiatku kódu. Nezabudnite, že tieto časy sú v minútach od polnoci. Použitie počiatočných, pevne zakódovaných časov kŕmenia by mohlo interferovať s osvetlením, ak čas kŕmenia pristane počas prechodu medzi súmrakom a denným svetlom (pri východe a západe slnka). Štandardný kód je 15 minút pred a po západe a východe slnka. Na želanie je možné pridať ďalšie časy kŕmenia.

Ďalej nastavte čas, kedy sa má arduino resetovať. To zaisťuje, že žiadne z časovania nepretečie a nesynchronizuje hodiny. Odporúčam to vykonať v strede dňa, keď ste preč, pretože proces resetovania spôsobuje, že svetlá začnú úplne svietiť. Cez deň to pre ryby nebude žiadny problém, ale v noci alebo ráno/večer by blesk mohol pri rybe rušiť vaše ryby alebo by na niekoľko sekúnd zničil vzhľad nádrže.

Nakoniec skontrolujte počet LED diód v páse, ktorý máte, Môj pásik má 60, ale túto hodnotu by ste mali aktualizovať v kóde nastavenia pre mnoho LED diód, ktoré používate.

Krok 7: Osvetlenie

Osvetlenie
Osvetlenie

Ak ste to ešte neurobili, zapojte pásik LED.

Napájanie (červené) na 5 V, uzemnenie (biele) na zem, signál (zelený) na pine 6 (alebo čokoľvek, na čo ste ho nastavili). Hneď ako sa arduino resetuje, svetlá budú mať plný jas, kým ESP8266 neodošle čas arduinu a ten neurčí, kde sa nachádza v cykle osvetlenia. Najlepšie je nastaviť to večer alebo v noci, pretože zmena svetla bude drastickejšia. Ak sa svetlá nezmenia do 30 sekúnd, resetujte arduino. Môj resetovací kód by mal fungovať, ale nie som odborný programátor, takže tu alebo tam stále môže byť niekoľko chýb. Fungovanie resetu môžete otestovať tak, že po opätovnom nahraní kódu a čakaní nastavíte čas resetovania na minútu (sekunda resetu je náhodná, takže reálne resetovanie môže trvať 1-2 minúty) Rovnaký trik môžete urobiť aj neskôr zapnutím sa uistite, že servo funguje, a to zmenou času podávania. Nezabudnite tieto časy zmeniť skôr, ako ich necháte bežať.

Predvolený rozvrh osvetlenia je veľmi jednoduchý:

V noci sú všetky svetlá vypnuté okrem modrej, ktorá je na najnižšom nastavení (2/255). Ako sa blíži čas východu slnka, modrá sa zvyšuje na plnú intenzitu (255), ktorú dosahuje na začiatku súmraku. Počas súmraku stúpa červená a zelená až do 255. Pri východe slnka je červená, modrá a zelená na 255, ale denné svetlo je biele, takže počas nasledujúcich 2 minút červená, modrá a zelená vybledne a biela vybledne palcov. Po zvyšok dňa má biela plnú intenzitu, až 2 minúty pred západom slnka, keď zmizne a je opäť nahradená červenou, modrou a zelenou. Pri západe slnka osvetlenie opäť vstúpi do súmraku, okrem toho, keď sa červená a zelená začnú v plnej intenzite a zhasnú, až do noci prejde modrá na plnú intenzitu. Odtiaľto modrá pomaly mizne späť na najnižšiu hodnotu, ktorú dosahuje o polnoci.

Iný kód existuje na konci náčrtu arduina pre iné režimy osvetlenia, takže sa môžete pokojne hrať s matematikou, aby osvetlenie v rôznych častiach dňa vybledlo alebo zmenilo farby. Pamätajte si, že matematika sa vykonáva vo formáte float, ale hodnoty farieb musia byť intty, takže konverzia medzi nimi je potrebná pri akejkoľvek novej matematike osvetlenia, ktorú implementujete.

Krok 8: Tlač dielov

Ak ste si diely pre túto úroveň ešte nevytlačili, urobte to. Kryt je zhruba rovnako veľký ako stredne veľká filtračná jednotka a tlač mi trvalo celú noc. Vyčistite diely, vložte prepážkový prepážku drážkou nahor a zaoblenou hranou von. Servo je nainštalované rovnakým spôsobom ako v úrovni 1 a ak vymieňate systém úrovne 1, násypka, veko a podávacie koleso sú zhodné, takže ich nebudete musieť znova tlačiť, ak fungujú.

Priečinok.zip obsahuje dve sady súborov STL, jednu pre pôvodný servomotor SM22, ktorý som použil, a druhú pre oveľa bežnejšie servo SG90. Oba obsahujú súbory Fusion 360, ak chcete/potrebujete upraviť niektorú z častí. SM22 STL určite zapadajú do seba, pretože sú to tie, ktoré som použil. Diely SG90 som netlačil ani netestoval.

Na materiály odporúčam použiť plast, ktorý je bezpečný pre potraviny. Použil som Raptor PLA od makergeeks, ktorý je dodávaný v mnohých farbách a je super silný, keď ho žíhate 10 minút. To sa dá dosiahnuť varením dielov, čo vám odporúča urobiť iba pre koleso, ak sa celkom nehodí, pretože žíhanie diely zmenší asi o 0,3%.

Vytlačil som kryt na jeho stranu (hornou stranou do strany a otvorenou stranou nahor) Toto používa oveľa menej podporného materiálu ako iné orientácie. Na násypku je možné potlačiť hore nohami, aby ste predišli všetkému podpornému materiálu. Veko zásobníka by malo byť vytlačené aj hore dnom, ale veľké veko by malo byť potlačené pravou stranou nahor.

K dispozícii je tiež kus „koncového dorazu“, ktorý poskytuje podporu spodnej časti krytu. Potom, čo som nechal podávač niekoľko týždňov na mieste, všimol som si, že sa začal prepadávať a ohýbať od hmotnosti zdroja, a to ovplyvňovalo schopnosť násypky podávať jedlo do kolesa. Jednoducho za horúca prilepte 1–2 koncové dorazy k spodnej časti puzdra, aby bolo všetko vyrovnané.

Krok 9: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Všetko spojte pomocou protoboardu. Použil som prepojovacie vodiče, takže som nemusel toľko spájkovať, ale práve tu budete spájkovať najviac. Pokiaľ sú všetky pripojenia rovnaké, systém bude fungovať rovnako ako na doske. Spájkoval som dohromady kolíky záhlavia, aby som vytvoril výkonové „koľajnice“pre uzemnenie, 5 V, 3,3 V, ako aj signálne porty pre servopohony a bez napájania pre 3,3 V signály k ESP8266 (RX, CH_PD a RST). Všetky kolíky som nasmeroval na spodnú stranu protoboardu, pričom komponenty sú na vrchu.

Akonáhle budete mať protoboard kompletný, vložte ho do hornej dutiny krytu a pripojte servomotor. Svetelné káble vychádzajú zo zárezu vo veku krytu a napájací zdroj sa zmestí do spodnej dutiny. Spodná dutina je zaoblená a má mierny sklon na odvádzanie všetkej vody, ktorá sa nejakým spôsobom dokáže dostať do krytu mimo elektroniky. Pripojte kladný a záporný pól napájacieho zdroja k systému a vložte bočný kryt.

Ak ste to pre svoj napájací zdroj ešte neurobili, odstrihnite koniec napájacieho kábla, ktorý sa nezapája do steny, a dostatočne odizolujte drôty, aby ste ich mohli zapojiť do správnych svoriek zdroja. Ak máte zvlnené konce, ktoré môžete nasadiť na konce, navrhujem ich použiť. Ak nie, holá meď bude v poriadku, uistite sa, že sa nič neskráti! NEZABUDNITE, že bude zapojený do elektrickej zásuvky vo vašej domácnosti, BUĎTE V BEZPEČNOSTI A NIKDY NEPracujte so SYSTÉMOM ZAPOJENÝM DO.

Ďalej je potrebné do nádrže pridať svetelný pás. Odstráňte veko nádrže a úplne ho vysušte. Pred pridaním svetiel sa uistite, že je povrch veka čistý a suchý. Pruh, ktorý som dostal, má lepiacu podložku, nebude to fungovať na zaistenie svetelného pruhu, ale bude to fungovať tak, že ich umiestnite pozdĺž okraja veka (alebo kdekoľvek ich umiestnite) Moje veko nádrže má správnu veľkosť pre môj prúžok, takže som nemusel predlžovať žiadne drôty. Pred nasadením veka späť na nádrž sa uistite, že sú všetky odkryté vodiče zakryté vodotesnými materiálmi. Na pokrytie koncov som použil horúce lepidlo, ale to nemusí fungovať dlhodobo. Akonáhle sú svetlá usporiadané tak, ako sa vám páčia, nalepte ich na svoje miesto. V rohoch som musel použiť ďalšie lepidlo, pretože tam sa pás LED zdvihol. Nechajte lepidlo niekoľko minút zaschnúť, kým veko opäť nasadíte na nádrž, aby ste sa presvedčili, že z neho nič nekvapká. Akonáhle je veko opäť nasadené, jednoducho zapojte vodiče k arduinu.

Zostava podávača je úplne rovnaká ako podávač úrovne 1. Servo sa zmestí do svojej dutiny a je naň nalepené podávacie koleso. Vrecko podávača by malo smerovať nahor k zásobníku, keď je servo v polohe 0 (a otáčať sa smerom k nádrži v polohe 180). Ak používate voliteľný vibračný motor, spájkujte k nemu niekoľko prívodných vodičov a vložte ho do násypky, v dutine servo je preň dutina. Pošlite zvodové vodiče motora rovnakou cestou ako servo vodiče a pripojte ich k zemi a kolíku motora na arduine. Horúco prilepte násypku k základni.

Keď je všetko zapojené, môžete zapojiť napájací zdroj do steny. Arduino by malo prejsť svojou štartovacou sekvenciou a svetlá sa zmenia, keď na to bude mať čas. Ak nie, resetujte dosku, kým nedostane čas. Za tepla som nalepil veko krytu na miesto, ale bočný kryt som nechal nelepený, aby som mal prístup k arduinu a resetoval ho alebo preprogramoval.

Gratulujem Váš podávač rýb úrovne 2 je hotový! Žasnite nad pekným osvetlením a jeho schopnosťou nakŕmiť ryby, keď ste preč! V najbližších dňoch určite monitorujte systém, aby ste sa uistili, že všetko funguje správne a že vaše ryby sú v skutočnosti kŕmené.

Krok 10: Na čo si najskôr dať pozor:

Na čo si dať najskôr pozor
Na čo si dať najskôr pozor
Na čo si dať najskôr pozor
Na čo si dať najskôr pozor
Na čo si dať najskôr pozor
Na čo si dať najskôr pozor

Keď som prvýkrát nastavil svoje, omylom som zapojil servo na nesprávny signálny kolík, takže ryby neboli kŕmené niekoľko dní, kým som si chybu neuvedomil (v reakcii na ďalšiu chybu som ich kŕmil ručne v noci). Skúste nastaviť časy kŕmenia na najpravdepodobnejšie, že sa nachádzate, aby ste sa presvedčili, že vaše ryby boli kŕmené.

Ďalšou chybou, na ktorú je potrebné dávať pozor, je reset. Ak napríklad prídete domov po západe slnka a váš tank má stále denné osvetlenie, je pravdepodobné, že funkcia resetovania zlyhala a arduino z ESP8266 nikdy nedostal čas. To tiež znamená, že vaše ryby neboli od času resetovania kŕmené, takže by ste ich mali pravdepodobne nakŕmiť sami a súčasne stlačiť tlačidlo reset na arduine. Som si na 99% istý, že som to odstránil, ale kódovanie nie je moja profesia, takže si na to dávajte pozor.

Nezabudnite tiež kontrolovať jedlo v zásobníku každý týždeň alebo dva, podľa potreby ho doplňte a uistite sa, že sa nič nepokazí.

Ak sa chystáte odísť na prázdniny, uistite sa, že pred odchodom urobíte výmenu vody a ďalšiu základnú údržbu nádrže. Kŕmidlo zaisťuje iba to, že jedlom a osvetlením ryby nekončia, ak ste príliš dlho preč. Už nikdy by ste nemali používať prázdninové podávače!

Odporúča: