Obsah:
- Krok 1: Co budete potřebovat:
- Krok 2: Jak to funguje
- Krok 3: Programování ESP8266
- Krok 4: Připojte ESP8266 k Arduinu
- Krok 5: Nahrání kódu Arduino a řešení potíží
- Krok 6: Přizpůsobení kódu Arduino
- Krok 7: Osvětlení
- Krok 8: Tisk dílů
- Krok 9: Sestavení
- Krok 10: Věci, které je třeba nejprve sledovat:
Video: The Ultimate DIY Automatic Fish Feeder: Tier 2: 10 Steps (with Pictures)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Podavač 2. úrovně je velkým krokem oproti 1. úrovni. Tato verze používá wifi modul ESP8266 k synchronizaci hodin arduina k ovládání plánu krmení a osvětlení nádrže.
Krok 1: Co budete potřebovat:
Všechno na úrovni 1 kromě časovače světla
- ESP8266-01
- Programátor FTDI (k programování ESP8266)
- Páječka
- 5V RGBW LED pásek (SK6812 IP 65, denní světlo bílý, použil jsem tento)
- Světelný proužek musí být vodotěsný, protože voda se z nádrže odpařuje a kondenzuje na víku nádrže a sama se rozsvítí.
- Napájení 5V (použil jsem toto, arduino NEMŮŽE napájet všechna světla samostatně.).
- Neváhejte použít jakýkoli 5V napájecí zdroj, který chcete, jen se ujistěte, že poskytuje dostatek energie pro napájení všech světel.
- Regulátor napětí 3,3V
- ESP8266 běží na 3,3 V, proto je všechno ostatní 5 V, je snazší snížit 5 na 3,3 než snížit na 12 až 3,3
- Rezistory (1 kOhm x2, 2 kOhm x2 (nebo 1 kOhm x4), 10 kOhm x1)
- super lepidlo
- Horké lepidlo
- 3D tištěné díly x8 (dodané soubory STL)
- Odstraňovače drátů (doporučuji tyto užitečné věci)
- Breadboard (pro protokolování věcí)
- Protoboard/Project board (pro finální montáž)
- Standardní 3kolíkový napájecí kabel k počítači.
- (volitelně) Vibrační motor mobilního telefonu (k míchání násypky) (použil jsem jeden z nich)
- Nainstalujte si tyto arduino knihovny:
- ESP8266WiFi.h
- WiFiUdp.h
- TimeLib.h
- Dusk2Dawn.h
- Adafruit_NeoPixel.h
- Trpělivost.
Krok 2: Jak to funguje
ESP8266 získá unixový čas ze serveru NIST a předá jej arduinu. Arduino pak použije tento čas k určení místního východu a západu slunce a synchronizaci svých vnitřních hodin k určení, kolik minut uplynulo od půlnoci. Pomocí této doby, která uplynula od půlnoci, arduino nastaví barvu světel a ví, kdy aktivovat podavač, což je stejný mechanismus jako vysavač 1. úrovně. Výchozí nastavení v arduino kódu, který jsem napsal, má světla nastavená na denní/noční cyklus, které lze ovládat až do druhého pro plynulé vyblednutí a jsou synchronizovány s východem a západem slunce vaší polohy. Arduino se také jednou denně resetuje, aby se znovu synchronizovalo se serverem NIST a zajistilo, aby nedošlo k přetečení časovače
Krok 3: Programování ESP8266
Dobře, takže ESP8266 je parchant na programování.
Není to vhodné pro prkénko a pokud máte ženské propojovací vodiče, doporučuji je použít. Pokud váš ESP8266 přišel bez jakéhokoli nainstalovaného firmwaru jako ten můj, budete muset firmware nahrát. K tomu použijte programátor FTDI, jinde je spousta návodů, jak to udělat, ale pro pohodlí jsem poskytl schéma zapojení. ZABEZPEČTE, že programátor FTDI poskytuje 3,3 V! 5V smaží váš ESP8266. V mém diagramu by měl být oranžový připojený mezi GPI01 a GND proveden pouze při blikání firmwaru ESP8266. Při nahrávání skutečného arduino kódu do modulu by GPI01 měl zůstat nepřipojený.
Dále budete muset nahrát skutečný kód ESP8266. Tentokrát použijte programátor FTDI společně s arduino IDE. Budete také muset stáhnout a nainstalovat všechny použité knihovny. Nastavení použitá k nahrání kódu pomocí arduino 1.8 jsou v komentované části na začátku. NEJISTĚTE, že kód aktualizujete pomocí své wifi sítě a hesla.
Krok 4: Připojte ESP8266 k Arduinu
Jakmile je kód nahrán, můžete odpojit programátor FTDI a připojit ESP8266, jak je znázorněno na obrázku. Rezistory se používají jako děliče napětí, aby se zajistilo, že arduino nepumpuje 5V do komunikace a resetovacích kolíků ESP8266. Tento krok proveďte na chlebové desce pro ladění, později ji vložíme na proto-board.
Jakmile je ESP8266 zapojen, měli byste vidět modré světlo, když je připojeno k napájení, po několika sekundách by mělo získat unixový čas z internetu a odeslat jej do arduina, pak má prázdnou prázdnou smyčku (), že sedí, dokud není resetován, stejně jako podavač 1. úrovně.
Abyste se ujistili, že ESP8266 funguje, budete muset nahrát kód z dalšího kroku do arduina a otevřít sériový monitor.
Krok 5: Nahrání kódu Arduino a řešení potíží
Nyní nahrajte kód do arduino nano, otevřete sériový monitor, měli byste vidět něco jako výše uvedený příklad. Arduino se resetuje, když otevřete sériový monitor, takže se ESP8266 resetuje současně. sériový monitor začne počítat sekundy od půlnoci 1. ledna 1970, dokud mu ESP8266 neodesílá aktuální unixový čas. Když k tomu dojde, měli byste vidět toto:
Může to trvat 3–15 sekund, než to začne fungovat, buďte trpěliví. Málokdy jsem viděl, že to trvá déle než 10 sekund, ale dejte tomu 15, než začnete odstraňovat problémy.
Pokud váš ESP8266 neposílá čas arduinu, zkuste tyto kroky:
· Ujistěte se, že je vše zapojeno PŘESNĚ tak, jak má
· Znovu zkontrolujte, zda jste do ESP8266 vložili správné SSID a heslo wifi, pokud ne, budete je muset připojit zpět k programátoru FTDI, abyste nahráli správné informace, a poté je znovu připojte k arduinu. (Super dlouhý SSID nebo heslo může způsobovat určité problémy, ale moje wifi síť má v obou polích více než 20 znaků, takže většina domácích sítí by měla být v pořádku)
· Zkontrolujte (pokud můžete) stránku administrátora routeru, zda neobsahuje připojené zařízení, které se zobrazuje pouze při zapnutém ESP8266. Abyste se ujistili, že to zůstane zapnuté, když to zaškrtnete (arduino to deaktivuje), znovu připojte vodič vedoucí k resetovacímu kolíku ESP8266 přímo na 3,3 V, pokud to udržíte VYSOKÉ, zůstane ESP8266 zapnutý. Po kontrole to určitě zrušte.
Krok 6: Přizpůsobení kódu Arduino
Jakmile je váš ESP8266 připojen a odešle čas na arduino, naprogramované arduino jednoduše spočítá čas a zobrazí několik dalších bitů ladicích informací, jako je východ a západ slunce. Některé z těchto hodnot můžeme přizpůsobit v kódu arduina, zbytek je prostě tam, abych mohl ladit celý systém.
Chcete -li lépe porozumět tomu, jak arduino vypočítává východ a západ slunce, přečtěte si dokumentaci v knihovně Dusk2Dawn. Budete muset zadat svou zeměpisnou šířku a délku (pokud změníte název své polohy, ujistěte se, že je všude v kódu změněna!) Dusk2Dawn používá vaše souřadnice GPS (které najdete na mapách Google) a místní čas, aby určit, kdy slunce vychází a zapadá v minutách od půlnoci. Proměnná minfromMid je aktuální minutou od půlnoci a porovnává se s východem, západem slunce, dobou krmení a soumrakem, aby arduino řekl, kdy má co dělat. Nezapomeňte také aktualizovat své časové pásmo, výchozí je EST.
Jakmile je vaše poloha nastavena, nastavte čas soumraku a sdělte arduino, jak dlouho chcete, aby soumrak byl. Toto určuje, jak dlouho trvá období mezi dnem a nocí, a udává se v minutách. Výchozí hodnota je 90 minut, takže světla RGBW v daném čase zmizí ze dne na noc nebo opačně.
Dále nastavte požadované časy krmení. Skutečné doby podávání jsou nastaveny v metodě getTime (), aby byla krmiva synchronizována se dnem/nocí. Pokud chcete, aby se vaše ryby místo toho krmily každý den ve stejnou dobu, okomentujte relativní nastavení a použijte počáteční nastavení na začátku kódu. Pamatujte, že tyto časy jsou v minutách od půlnoci. Použití počátečních, pevně zakódovaných časů podávání by mohlo interferovat s osvětlením, pokud by doba krmení dopadla během přechodu mezi soumrakem a denním světlem (při východu a západu slunce). Výchozí kód je 15 minut před a po západu a východu slunce. Pokud chcete, můžete přidat další časy krmení.
Dále nastavte čas, kdy se má arduino resetovat. Tím je zajištěno, že žádný z časování nepřeteče a znovu synchronizuje hodiny. Doporučuji to provést v polovině dne, když jste pryč, protože proces resetování způsobí, že světla zhasnou. Ve dne to pro ryby nebude problém, ale v noci nebo ráno/večer by záblesk světla mohl vaše ryby rušit nebo by na pár sekund zničil vzhled nádrže, zatímco si ji užíváte.
Nakonec zkontrolujte počet LED diod v pásku, který máte, My Strip má 60, ale měli byste aktualizovat tuto hodnotu v instalačním kódu pro mnoho LED, které používáte.
Krok 7: Osvětlení
Pokud jste tak ještě neučinili, připojte LED pásek.
Napájení (červená) na 5V, uzemnění (bílá) na zem, signál (zelená) na pin 6 (nebo cokoli, co jste nastavili). Jakmile je arduino resetováno, světla budou na plný jas, dokud ESP8266 nepošle čas do arduina a ten neurčí, kde je v cyklu osvětlení. Nejlepší je nastavit to večer nebo v noci, protože změna světla bude razantnější. Pokud se světla nezmění do 30 sekund, resetujte arduino. Můj resetovací kód by měl fungovat, ale nejsem obchodní programátor, takže zde nebo tam může stále existovat několik chyb. Fungování resetu můžete vyzkoušet tak, že nastavíte čas resetování na minutu poté, co znovu nahrajete kód a čekáte (sekunda resetování je náhodná, takže skutečné resetování může trvat 1–2 minuty) Stejný trik můžete provést později změnou doby podávání se ujistěte, že servo funguje. Nezapomeňte tyto časy změnit, než je necháte spuštěné.
Výchozí plán osvětlení je velmi jednoduchý:
V noci jsou všechna světla vypnutá, kromě modré, která je na nejnižším nastavení (2/255). Jak se čas blíží k východu slunce, modrá se zvyšuje na plnou intenzitu (255), které dosahuje na začátku soumraku. Během soumraku stoupá červená a zelená až z 255. Při východu slunce je červená, modrá a zelená na 255, ale denní světlo je bílé, takže během následujících 2 minut červená, modrá a zelená vybledne a bílá vybledne palců. Po zbytek dne je bílá v plné intenzitě, až 2 minuty před západem slunce, kdy vybledne a nahradí ji znovu červená, modrá a zelená. Při západu slunce osvětlení opět vstupuje do soumraku, kromě této doby červená a zelená začínají v plné intenzitě a slábnou, takže modrá přichází v plné intenzitě, když přijde noc. Odtud modrá pomalu mizí zpět na nejnižší hodnotu, které dosahuje o půlnoci.
Jiný kód existuje na konci náčrtu arduina pro jiné režimy osvětlení, takže si můžete hrát s matematikou, aby se osvětlení v různých částech dne vybledlo nebo změnilo barvy. Pamatujte, že matematika se provádí ve formátu float, ale hodnoty barev musí být inty, takže převod mezi nimi je nezbytný u jakékoli nové matice osvětlení, kterou implementujete.
Krok 8: Tisk dílů
Pokud jste si díly pro tuto úroveň ještě nevytiskli, udělejte to. Pouzdro je přibližně stejné velikosti jako středně velká filtrační jednotka a tisk mi trval celou noc. Vyčistěte součásti, vložte přepážkový přepážku drážkou nahoru a zaoblenou hranou ven. Servo je instalováno stejným způsobem jako v úrovni 1 a pokud vyměňujete systém úrovně 1, násypka, víko a podávací kolo jsou totožné, takže je nebudete muset znovu tisknout, pokud fungují.
Složka.zip obsahuje dvě sady souborů STL, jednu pro původní servomotor SM22, který jsem použil, a druhou pro mnohem běžnější servo SG90. Oba obsahují soubory Fusion 360, pokud chcete/potřebujete upravit některou z částí. SM22 STL se k sobě rozhodně hodí, protože jsou to ty, které jsem použil. Díly SG90 jsem netiskl ani netestoval.
U materiálů doporučuji použít plast vhodný pro potraviny. Použil jsem Raptor PLA od makergeeks, který je dodáván v mnoha barvách a je super silný poté, co ho žíháte 10 minut. Toho lze dosáhnout vyvařením dílů, což vám doporučuji udělat pouze pro kolo, pokud se úplně nehodí, protože žíhání zmenší díly asi o 0,3%.
Vytiskl jsem pouzdro na jeho stranu (horní stranou do strany a otevřenou stranou nahoru). To používá mnohem méně podpůrného materiálu než jiné orientace. Násypku lze potisknout vzhůru nohama, aby se na ní zabránilo veškerému podpůrnému materiálu. Víko zásobníku by mělo být také potištěno vzhůru nohama, ale velké víko by mělo být potištěno pravou stranou nahoru.
K dispozici je také kus „koncového dorazu“, který poskytuje oporu spodní části pouzdra. Poté, co jsem na několik týdnů nechal podavač na místě, všiml jsem si, že se začal prohýbat a ohýbat od váhy napájecího zdroje, a to ovlivňovalo schopnost násypky přivádět jídlo do kola. Jednoduše za horka přilepte 1–2 koncové dorazy na spodní část pouzdra, aby vše bylo v jedné rovině.
Krok 9: Sestavení
Vše propojte pomocí protoboardu. Použil jsem propojovací vodiče, takže jsem nemusel tolik pájet, ale tady budete pájet nejvíc. Dokud jsou připojení stejná, bude systém fungovat stejně jako na prkénku. Spojil jsem piny záhlaví, abych vytvořil napájecí "kolejnice" pro zem, 5V, 3,3V, stejně jako signální porty servopohonů a beznapěťových 3,3V signálů k ESP8266 (RX, CH_PD a RST). Všechny kolíky jsem orientoval na spodní stranu protoboardu, přičemž součásti byly nahoře.
Jakmile budete mít protoboard hotový, vložte jej do horní dutiny krytu a připojte servomotor. Světelné kabely vycházejí ze zářezu ve víku skříně a napájecí zdroj se vejde do spodní dutiny. Spodní dutina je zaoblená a má mírný sklon k odvádění veškeré vody, která se nějakým způsobem dokáže dostat do pouzdra daleko od elektroniky. Připojte kladný a záporný pól napájecího zdroje k systému a přidejte boční kryt.
Pokud jste to pro svůj napájecí zdroj ještě neudělali, ustřihněte konec napájecího kabelu, který se nezapojuje do zdi, a odizolujte dostatečně vodiče, abyste je mohli zapojit do správných svorek napájecího zdroje. Pokud máte zvlněné konce, které můžete nasadit na konce, doporučuji je použít, pokud ne, holá měď bude v pořádku, jen se ujistěte, že se nic nezkracuje! PAMATUJTE, že to bude zapojeno do elektrické zásuvky vašeho domu, BUĎTE V BEZPEČÍ A NIKDY NEPOUŽÍVEJTE SE SYSTÉMEM ZAPOJENÝM DO.
Dále je třeba do nádrže přidat světelný pás. Sejměte víko nádrže a zcela jej osušte. Před přidáním světel se ujistěte, že je povrch víka čistý a suchý. Pruh, který jsem dostal, má lepicí podložku, nebude to fungovat pro zajištění světelného pásu, ale bude to fungovat tak, že je umístím podél okraje víka (nebo kamkoli je umístíte) Moje víčko nádrže má správnou velikost pro můj proužek, takže jsem nemusel prodlužovat žádné dráty. Jen se ujistěte, že všechny odkryté vodiče jsou zakryty vodotěsnými materiály, než nasadíte víko zpět na nádrž. Na zakrytí konců jsem použil horké lepidlo, ale to nemusí fungovat dlouhodobě. Jakmile jsou světla uspořádána tak, jak se vám líbí, přilepte je na místo. Musel jsem použít zvláštní lepidlo v rozích, protože tam se LED pás zvedl. Nechte lepidlo několik minut zaschnout, než víko nasadíte zpět na nádrž, abyste si byli jisti, že dovnitř nic nekape. Jakmile je víko zpět, jednoduše připojte vodiče k arduinu.
Sestava podavače je přesně stejná jako podavač 1. úrovně. Servo se vejde do své dutiny s nalepeným podavacím kolem. Kapsa podavače by měla směřovat nahoru k zásobníku, když je servo v poloze 0 (a otáčet se směrem k nádrži v poloze 180). Pokud používáte volitelný vibrační motor, připájejte k němu některé přívodní vodiče a vložte jej do násypky, v dutině pro servo je dutina. Pošlete vodiče motoru stejnou cestou jako servo vodiče a připojte je k zemi a kolíku motoru na Arduinu. Horké lepidlo na násypku k základně.
Jakmile je vše připojeno, můžete zapojit napájecí zdroj do zdi. Arduino by mělo projít svou spouštěcí sekvencí a světla se změní, když bude mít čas. Pokud ne, resetujte desku, dokud nedostane čas. Víko skříně jsem nalepil za tepla, ale boční kryt jsem nechal nelepený, abych měl přístup k arduinu a resetoval ho nebo přeprogramoval.
Gratulujeme! Vaše krmítko pro ryby 2. úrovně je hotové! Obdivujte pěkné osvětlení a jeho schopnost krmit ryby, když jste pryč! Nezapomeňte monitorovat systém v příštích několika dnech, abyste se ujistili, že vše funguje správně a že vaše ryby jsou ve skutečnosti krmeny.
Krok 10: Věci, které je třeba nejprve sledovat:
Když jsem poprvé nastavil svůj, omylem jsem zapojil servo na špatný signální kolík, takže ryby nebyly krmeny několik dní, dokud jsem si neuvědomil chybu (v reakci na další chybu jsem je krmil ručně v noci). Zkuste nastavit doby krmení na dobu, kdy se s největší pravděpodobností budete nacházet, abyste potvrdili, že vaše ryby byly krmeny.
Další chybou, kterou je třeba sledovat, je reset. Pokud například přijedete domů po západu slunce a váš tank má stále denní osvětlení, je pravděpodobné, že funkce resetování selhala a arduino nikdy nedostal čas z ESP8266. To také znamená, že vaše ryby nebyly od doby resetování krmeny, takže byste je pravděpodobně měli nakrmit sami a přitom stisknout tlačítko reset na arduinu. Jsem si na 99% jistý, že jsem to odstranil, ale kódování není moje profese, takže si na to dávejte pozor.
Nezapomeňte také zkontrolovat jídlo v zásobníku každý týden nebo dva, podle potřeby jej doplnit a ujistit se, že se nic nepokazí.
Pokud jedete na dovolenou, ujistěte se, že před odjezdem provedete výměnu vody a další základní údržbu nádrže. Krmítko zajišťuje pouze to, že jídlo a osvětlení nebude pro vaše ryby konec, pokud jste příliš dlouho pryč. Už nikdy byste neměli používat prázdninové krmítka!
Doporučuje:
The Ultimate Knife Block: 11 Steps (with Pictures)
The Ultimate Knife Block: Všichni jsme tam byli, krájíme zeleninu nožem tak tupě, že by bylo efektivnější použít lžičku. V tu chvíli přemýšlíte o tom, jak jste se tam dostali: vaše nože byly ostré jako žiletky, když jste je koupili, ale teď, o tři roky později
Amazon Alexa Powered Automatic Fish Feeder: 5 kroků
Amazon Alexa Powered Automatic Fish Feeder: Zapomněli jste krmit své ryby? Nyní nechte Alexa krmit vaše ryby odkudkoli na světě, ano kdekoli. Tento projekt je navržen tak, že můžete nakrmit svého mazlíčka odkudkoli na světě pomocí jakéhokoli zařízení/aplikace Alexa. Chcete nakrmit jiného mazlíčka? Žádný problém, jen
SMART FISH FEEDER „DOMOVOY“: 5 kroků (s obrázky)
CHYTRÝ RYBÁŘSKÝ PODÁVAČ „DOMOVOY“: Krmítko " DOMOVOY " je určen pro automatické krmení akvarijních ryb podle plánu. Vlastnosti: Navrženo pro automatické krmení akvarijních rybKrmení se provádí v nastaveném čase Speciální algoritmus zabraňuje zaseknutí krmivaParametry lze změnit
Fish Feeder 2: 13 kroků (s obrázky)
Fish Feeder 2: Úvod / Proč tento projekt V roce 2016 jsem postavil své první krmítko pro ryby, viz Fish Feeder 1. Feeder fungoval dobře více než půl roku. Po tomto období došlo k opotřebení serva, což způsobilo zastavení programu bez odeslání chybové zprávy. Jejda. Já
The Ultimate DIY Automatic Fish Feeder: Tier 1: 6 Steps
Ultimate DIY Automatic Fish Feeder: Tier 1: Tier 1 je nejzákladnější krmítko. Využijte to, pokud máte omezený rozpočet, nebo jako já nemůžete dostat Tier 2 do práce, než odjedete na týden a půl o prázdninách. Neexistuje žádné ovládání osvětlení. Množství a typ jídla: Mám bettu a 5 neonových