Sisukord:
- Samm: mida vajate:
- 2. toiming: kuidas see toimib
- Samm: ESP8266 programmeerimine
- Samm: ühendage ESP8266 Arduinoga
- Samm: Arduino koodi üleslaadimine ja tõrkeotsing
- Samm: Arduino koodi kohandamine
- Samm 7: Valgustus
- 8. samm: osade printimine
- 9. samm: kokkupanek
- Samm: asjad, mida kõigepealt jälgida:
Video: Ultimate DIY automaatne kalasöötja: 2. tasand: 10 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Tier 2 söötur on astmest 1 kõrge samm. See versioon kasutab ESP8266 WiFi -moodulit, et sünkroonida arduino kell, et juhtida söötmisgraafikut ja paagi valgustust.
Samm: mida vajate:
Kõik 1. astmes, välja arvatud valgustaimer
- ESP8266-01
- FTDI programmeerija (ESP8266 programmeerimiseks)
- Jootekolb
- 5V RGBW LED -riba (SK6812 IP 65, päevavalge valge, ma kasutasin seda)
- Valgusriba peab olema veekindel, kuna vesi aurustub paagist ning kondenseerub paagi kaanele ja süttib ise.
- 5 V toiteallikas (ma kasutasin seda, arduino EI TOHI kõiki tulesid ise toita.).
- Kasutage julgelt mis tahes soovitud 5 V toiteallikat, vaid veenduge, et see annaks piisavalt energiat kõigi tulede varustamiseks.
- 3.3V pingeregulaator
- ESP8266 töötab 3,3 V pingel, seetõttu on kõik muu 5 V, see on lihtsam samm 5 alla 3,3 kui 12-3,3
- Takistid (1kOhm x2, 2kOhm x2 (või 1kOhm x4), 10kOhm x1)
- Super liim
- Kuum liim
- 3D -prinditud osad x8 (kaasas STL -failid)
- Traadi eemaldajad (soovitan neid kasulikke asju)
- Leivalaud (asjade protogeerimiseks)
- Protoboard/projektilaud (lõplikuks kokkupanekuks)
- Tavaline kolmeharuline arvuti toitekaabel.
- (valikuline) Mobiiltelefoni vibratsioonimootor (punkri segamiseks) (kasutasin ühte neist)
- Installige need arduino teegid:
- ESP8266WiFi.h
- WiFiUdp.h
- TimeLib.h
- Dusk2Dawn.h
- Adafruit_NeoPixel.h
- Kannatlikkus.
2. toiming: kuidas see toimib
ESP8266 saab Unixi aja NIST -serverist ja edastab selle arduinole. Seejärel kasutab arduino seda aega kohaliku päikesetõusu ja -loojangu määramiseks ning sisemise kella sünkroonimiseks, et teha kindlaks, mitu minutit on südaööst möödas. Kasutades seda keskööst möödunud aega, määrab arduino tulede värvi ja teab, millal söötur aktiveerida, mis on sama mehhanism kui esimese taseme vabastaja. Minu kirjutatud arduino koodi vaikeseadete tuled on seatud päeva-/öötsüklile, mida saab sujuva tuhmumise jaoks sekunditeni juhtida ja sünkroonida teie asukoha päikesetõusu ja -loojanguga. Arduino lähtestab ennast ka üks kord päevas, et sünkroonida ennast uuesti NIST-serveriga ja tagada, et taimerit ei ületaks
Samm: ESP8266 programmeerimine
Okei, nii et ESP8266 on programmeerimiseks pätt.
See ei ole leivaplaadisõbralik ja kui teil on naissoost hüppajajuhtmed, soovitan neid kasutada. Kui teie ESP8266 tuli ilma minu püsivara installimata, peate püsivara vilkuma. Kasutage selleks FTDI programmeerijat, seal on palju juhiseid selle kohta, kuidas seda mujal teha, kuid mugavuse huvides esitasin ühendusskeemi. VEENDUGE, et FTDI programmeerija pakub 3.3V! 5V praeb teie ESP8266. Minu diagrammil tuleks GPI01 ja GND vahel ühendatud oranž teha ainult ESP8266 püsivara vilkumisel. GPI01 ei tohiks moodulile tegeliku arduino -koodi üleslaadimisel olla ühendamata.
Järgmisena peate üles laadima ESP8266 tegeliku koodi. Kasutage seekord FTDI programmeerijat koos arduino IDE -ga. Samuti peate alla laadima ja installima kõik kasutatud teegid. Koodi üleslaadimiseks arduino 1.8 abil kasutatud seaded on alguses kommenteeritud osas. KINDLASTI värskendage koodi oma WiFi -võrgu ja parooliga.
Samm: ühendage ESP8266 Arduinoga
Kui kood on üles laaditud, saate FTDI programmeerija lahti ühendada ja ühendada ESP8266, nagu on näidatud skeemil. Takisteid kasutatakse pingejagajatena, et veenduda, et arduino ei pumbata 5 V ESP8266 kommunikatsiooni ja lähtestab nööpnõelad. Tehke see samm silumiseks leivalaual, paneme selle hiljem proto-plaadile.
Kui ESP8266 on kõik vooluvõrku ühendatud, peaksite toiteühenduse korral vilkuma sinise tulega, mõne sekundi pärast peaks see saama Internetist Unixi aja ja saatma selle arduinole, siis on sellel tühi tühimik (), et see istuks kuni lähtestamiseni, nagu esimese taseme söötur.
Veendumaks, et ESP8266 töötab, peate järgmise etapi koodi arduinole üles laadima ja jadamonitori avama.
Samm: Arduino koodi üleslaadimine ja tõrkeotsing
Nüüd laadige kood üles arduino nano, avage jadamonitor, peaksite nägema midagi ülaltoodud näite sarnast. Arduino lähtestatakse jadamonitori avamisel, nii et ESP8266 lähtestatakse samal ajal. seeriamonitor hakkab sekundeid lugema 1. jaanuari 1970 südaööst kuni ESP8266 saadab selle praeguse Unixi aja. Kui see juhtub, peaksite seda nägema:
Selle toimimiseks võib kuluda 3–15 sekundit, seega olge kannatlik. Olen harva näinud, et see võtab kauem aega kui 10 sekundit, kuid andke sellele 15 enne veaotsingu alustamist.
Kui teie ESP8266 ei saada arduinole aega, proovige neid samme:
· Veenduge, et kõik on juhtmega TÄPSELT nii, nagu peaks
· Kontrollige veel kord, kas sisestate ESP8266 -sse õige wifi SSID ja parooli. Vastasel juhul peate selle õige teabe üleslaadimiseks uuesti FTDI programmeerija külge ühendama ja seejärel uuesti arduinole ühendama. (ülipikk SSID või parool võib põhjustada mõningaid probleeme, kuid minu wifi -võrgus on mõlemas valdkonnas üle 20 tähemärgi, nii et enamik koduvõrke peaks olema korras)
· Kontrollige oma ruuteri administraatori lehelt (kui saate) ühendatud seadet, mis kuvatakse ainult siis, kui ESP8266 on sisse lülitatud. Veendumaks, et see jääb selle kontrollimise ajal sisse (arduino keelab selle), ühendage ESP8266 lähtestusjuhtme juurde viiv juhe otse 3,3 V pingega, hoides seda KÕRGE, jääb ESP8266 sisse. Võta see pärast kontrollimist kindlasti tagasi.
Samm: Arduino koodi kohandamine
Kui teie ESP8266 on ühendatud ja saadab aega arduinole, loeb programmeeritud arduino lihtsalt aja kokku ja kuvab mõned muud silumisandmed, näiteks päikesetõus ja päikeseloojang. Mõnda neist väärtustest saame kohandada arduino koodis, ülejäänud on lihtsalt olemas, et saaksin kogu süsteemi siluda.
Et paremini mõista, kuidas arduino päikesetõusu ja -loojangut arvutab, lugege Dusk2Dawni raamatukogu dokumentatsiooni. Peate sisestama oma laius- ja pikkuskraadi (kui muudate oma asukoha nime, veenduge, et seda muudetaks kõikjal koodis!) Dusk2Dawn kasutab teie GPS -koordinaate (mille leiate Google Mapsist) ja kohalikku aega määrake, millal päike tõuseb ja loojub minutitega alates südaööst. Muutuja minfromMid on praegune minut alates südaööst ning seda võrreldakse päikesetõusu, päikeseloojangu, toitumisaegade ja hämaraajaga, et öelda arduinole, millal mida teha. Värskendage kindlasti ka oma ajavööndit, vaikimisi on see EST.
Kui teie asukoht on määratud, määrake videviku aeg, et öelda arduinole, kui kaua soovite hämaras olla. See juhib, kui kaua kestab päevase ja öise ajavahemik, ja see esitatakse minutites. Vaikimisi on 90 minutit, nii et RGBW tuled kustuvad päevast öösel või muul viisil selle aja jooksul.
Seejärel määrake soovitud söötmisajad. Tegelikud söötmisajad on määratud meetodis getTime (), et hoida söötmist sünkroonis päeva ja ööga. Kui soovite, et kala söödaks iga päev samal kellaajal, kommenteerige suhtelisi seadeid ja kasutage koodi alguses olevaid algseadeid. Pidage meeles, et need ajad on minutites alates südaööst. Esialgse, kodeeritud söötmisaja kasutamine võib valgustamist häirida, kui söötmisaeg langeb hämaruse ja päevavalguse vahel (päikesetõusu ja -loojangu ajal). Koodi vaikimisi on vastavalt 15 minutit enne ja pärast päikeseloojangut ja päikesetõusu. Soovi korral saab lisada täiendavaid söötmisaegu.
Seejärel määrake aeg, mil soovite arduino lähtestada. See tagab, et ükski ajastus ei ületa ja sünkroonib kella uuesti. Soovitan seda teha keset päeva, kui olete eemal, kuna lähtestamisprotsess põhjustab tulede täieliku heleduse. Päeval pole see kala jaoks probleem, kuid öösel või hommikul/õhtul võib valgussähvatus teie kala häirida või mõneks sekundiks paagi välimuse rikkuda.
Lõpuks kontrollige valgusdioodide arvu teie ribal, Minu ribal on 60, kuid peaksite seda väärtust seadistuskoodis värskendama, kui palju LED -e te kasutate.
Samm 7: Valgustus
Ühendage oma LED -riba, kui te pole seda juba teinud.
Toide (punane) kuni 5 V, maandus (valge) maanduseni, signaal (roheline) pin 6 (või mis iganes te selle seadistasite). Kui arduino on lähtestatud, on tuled täieliku heledusega, kuni ESP8266 saadab aja arduinole ja see määrab kindlaks valgustustsükli asukoha. Parim on see seadistada õhtul või öösel, sest valguse muutus on drastilisem. Kui tuled ei muutu 30 sekundi jooksul, lähtestage arduino. Minu lähtestamiskood peaks töötama, kuid ma pole ametilt programmeerija, nii et siin või seal võib siiski olla paar viga. Saate kontrollida lähtestamise toimimist, määrates lähtestamisaja minutiks pärast koodi uuesti üleslaadimist ja ootamist (lähtestamise sekund on juhuslik, nii et tegelikuks lähtestamiseks võib kuluda 1-2 minutit) Sama trikki saate teha hiljem sisse, et veenduda, et servo töötab, muutes söötmisaega. Lihtsalt muutke neid aegu tagasi, enne kui jätate selle töötama.
Valgustuse ajakava on üsna lihtne:
Öösel on kõik tuled välja lülitatud, välja arvatud sinine, mis on kõige madalamal (2/255). Kui aeg läheneb päikesetõusule, suureneb sinine täies intensiivsuses (255), milleni jõuab videviku saabudes. Õhtuhämaruse ajal tõuseb punane ja roheline tõus kuni 255. Päikesetõusu ajal on punane, sinine ja roheline kõik 255 juures, kuid päevavalgus on valge, nii et järgmise 2 minuti jooksul punane, sinine ja roheline tuhmuvad ja valge tuhmub. Ülejäänud päeva jooksul on valge intensiivsus kuni 2 minutit enne päikeseloojangut, kui see kustub ja asendatakse uuesti punase, sinise ja rohelisega. Päikeseloojangu ajal lülitub valgustus uuesti hämarasse, välja arvatud seekord, kui punane ja roheline täiel intensiivsusel algavad ja kustuvad, jättes öise saabudes sinise täies intensiivsuses. Siit kaob sinine aeglaselt tagasi oma madalaima väärtuseni, milleni see jõuab südaööl.
Arduino visandi lõpus on muud koodid teiste valgustuse režiimide jaoks, seega võite vabalt mängida matemaatikaga, et valgustus erinevalt tuhmuda või värve päeva erinevatel perioodidel muuta. Pidage meeles, et matemaatikat tehakse ujukvormingus, kuid värviväärtused peavad olema ints, nii et nende vahel on vaja teisendada mis tahes uus valgustusmatemaatika.
8. samm: osade printimine
Kui te pole selle taseme osi veel printinud, tehke seda. Korpus on umbes sama suur kui keskmise suurusega filter ja mul kulus printimiseks terve öö. Puhastage osad, sisestage vaheseinajagur soonega ülespoole ja ümardatud serv väljapoole. Servo on paigaldatud samamoodi nagu esimese astme puhul ja kui vahetate esimese taseme süsteemi, on punker, kaas ja söötmisratas sama, nii et te ei pea neid uuesti töötades printima.
Kaust.zip sisaldab kahte STL -failide komplekti, üks minu kasutatud originaalsele SM22 servomootorile ja teine palju tavalisemale SG90 servole. Mõlemad sisaldavad Fusion 360 faile, kui soovite/peate mõnda osa muutma. SM22 STL -id sobivad kindlasti kokku, kuna neid olen kasutanud. Ma pole printinud ega katsetanud SG90 osi.
Materjalide puhul soovitan kasutada toidukindlat plastikut. Kasutasin makergeeksist Raptor PLA -d, mis on toonides ja on pärast 10 -minutilist lõõmutamist ülitugev. Seda saab teha osade keetmisega, mida soovitan teha ainult ratta jaoks, kui see ei sobi, kuna lõõmutamine vähendab osi umbes 0,3%.
Trükkisin korpuse küljele (ülaosa külje poole ja avatud külg ülespoole). See kasutab palju vähem tugimaterjali kui muud suunad. Punkri saab printida tagurpidi, et vältida sellel olevat tugimaterjali. Punkri kaas tuleks printida ka tagurpidi, kuid suur kaas tuleks trükkida paremal pool üles.
Korpuse põhja toetamiseks on olemas ka otsastopp. Pärast söötja paariks nädalaks oma kohale jätmist märkasin, et see hakkas toiteallika raskusest vajuma ja painduma ning see mõjutas punkri võimet toitu ratta sisse sööta. Lihtsalt kuumliimige 1-2 otsat korpuse põhja, et kõik oleks tasane.
9. samm: kokkupanek
Kõigi ühendamiseks kasutage protoplaati. Ma kasutasin hüppajajuhtmeid, nii et ma ei pidanud nii palju jootma, kuid siin jootate kõige rohkem. Niikaua kui ühendused on kõik ühesugused, töötab süsteem nagu leivaplaadil. Ma jootsin kokku päise tihvtid, et luua toitepinge maapinnale, 5 V, 3,3 V, samuti signaalipordid servo- ja mitte-toiteallikaga 3,3 V signaalid ESP8266-le (RX, CH_PD ja RST). Suunasin kõik tihvtid protoboardi alumise poole poole, komponendid üleval.
Kui olete protoboardi valmis saanud, sisestage see korpuse ülemisse õõnsusse ja ühendage servomootor. Valgustuskaablid lähevad korpuse kaane sälgust välja ja toiteplokk sobib alumisse süvendisse. Alumine õõnsus on ümardatud ja sellel on väike kalle, et tühjendada kõik vesi, mis kuidagi suudab elektroonikast eemal korpusesse pääseda. Ühendage toiteploki positiivsed ja negatiivsed klemmid süsteemiga ja lisage külgkate.
Kui te pole seda oma toiteallika jaoks juba teinud, lõigake toitekaabli ots, mis ei ühendu seinaga, ja eemaldage juhtmed piisavalt, et saaksite need toiteallika õigetesse klemmidesse panna. Kui teil on klammerduvad otsad, mida saate otstele panna, soovitan neid kasutada, kui mitte tühi vask sobib, siis lihtsalt veenduge, et miski ei oleks lühike! Pidage meeles, et see ühendatakse teie kodu vooluvõrku, olge turvaline ja ärge kunagi töötage ühendatud süsteemiga.
Järgmisena tuleb paagile lisada valgusriba. Eemaldage paagi kaas ja kuivatage see täielikult. Enne tulede lisamist veenduge, et kaane pind oleks puhas ja kuiv. Minu saadud ribal on kleepuv tagakülg, see ei tööta valgusriba kinnitamiseks, kuid see asetab need piki kaane serva (või kuhu iganes te need asetate) Minu paagi kaas oli minu riba jaoks õige suurusega, nii et ma ei pidanud juhtmeid pikendama. Lihtsalt veenduge, et kõik avatud juhtmed oleksid enne paagile kaane tagasi panemist kaetud veekindlate materjalidega. Otsade katmiseks kasutasin kuuma liimi, kuid see ei pruugi pikaajaliselt töötada. Kui tuled on paigutatud nii, nagu teile meeldib, liimige need oma kohale. Pidin nurkades lisaliimi kasutama, kuna LED -riba tõusis sinna üles. Laske liimil mõni minut kuivada, enne kui panete paagile kaane tagasi, veendumaks, et midagi ei tilgu. Kui kaas on tagasi, ühendage lihtsalt juhtmed arduinoga.
Söötjasõlm on täpselt sama, mis esimese taseme söötur. Servo sobib oma õõnsusse, kui söötjaratas on selle külge liimitud. Kui servo on 0 -asendis (ja pöörleb paagi suunas 180 asendis) peaks sööturi ratta tasku olema suunatud punkri poole. Kui kasutate valikulist vibratsioonimootorit, jootke sellele mõned juhtmed ja sisestage see punkrisse, servoõõnes on selle jaoks õõnsus. Saatke mootori juhtmed sama teed mööda kui servojuhtmed ja ühendage need maanduse ja arduino mootori tihvtiga. Kuum liimige punker aluse külge.
Kui kõik on ühendatud, saate toiteallika seinale ühendada. Arduino peaks käivitusjärjestuse läbima ja tuled muutuvad, kui aeg saabub. Kui ei, lähtestage plaat, kuni see saab aega. Liimisin korpuse kaane oma kohale kuumalt, kuid jätsin külgkaane liimimata, et saaksin arduino juurde pääseda, et seda lähtestada või ümber programmeerida.
Palju õnne! Teie teise taseme kalasöötja on valmis! Imetlege ilusat valgustust ja selle võimet eemal olles kala toita! Jälgige kindlasti järgmistel päevadel süsteemi, et veenduda, et kõik töötab korralikult ja et teie kalu tegelikult toidetakse.
Samm: asjad, mida kõigepealt jälgida:
Kui ma esimest korda seadistasin, ühendasin ma kogemata servo vale signaali tihvtiga, nii et kalu ei söödetud mitu päeva, kuni sain veast aru (olin neid järgmisele veale reageerides öösel käsitsi toitnud). Proovige seadistada söötmisajad selliseks ajaks, millal olete kõige tõenäolisemalt kohal, et kinnitada, et teie kala toideti.
Teine viga, mida jälgida, on lähtestamine. Näiteks kui jõuate koju pärast päikeseloojangut ja teie paak on endiselt päevavalguses, on tõenäoline, et lähtestamisfunktsioon ebaõnnestus ja arduino ei saanud ESP8266 -st aega. See tähendab ka seda, et teie kalu ei söödetud alates lähtestamise ajast, seega peaksite arduino nullimisnuppu vajutades tõenäoliselt neid ise söötma. Olen 99% kindel, et kõrvaldasin selle, kuid kodeerimine ei ole minu elukutse, seega olge sellega kindlasti ettevaatlik.
Samuti kontrollige kindlasti punkris olevat toitu iga nädala või kahe tagant, täitke see uuesti vastavalt vajadusele ja veenduge, et midagi halba ei läheks.
Kui lähete puhkusele, tehke enne lahkumist kindlasti veevahetus ja muud põhilised paagihooldused. Söötur tagab ainult selle, et toit ja valgustus ei jää teie kalale otsa, kui olete liiga kaua ära. Te ei peaks kunagi enam puhkusetoite kasutama!
Soovitan:
Amazon Alexa automaatne kalasöötja: 5 sammu
Amazon Alexa automaatne kalasöötja: unustasite oma kala toita? Nüüd laske Alexal oma kalu toita kõikjal maailmas, jah kõikjal. See projekt on loodud selleks, et saaksite oma lemmiklooma toita kõikjalt maailmast, kasutades mis tahes Alexa seadet/rakendust. Kas soovite mõnda muud lemmiklooma toita? Pole probleemi
Akrüülist kalasöötja: 11 sammu (piltidega)
Akrüülist kalasöötja: Selles õpetuses õpetan teile, kuidas tegin oma koi ~ jaoks automaatse kalasöötja
Kalasöötja 2: 13 sammu (piltidega)
Kalasöötja 2: Sissejuhatus / Miks see projektAastal 2016 ehitan oma esimese kalasöötja, vt Kalasöötja 1. Söötja töötas hästi üle poole aasta. Pärast seda perioodi olid servod kulunud, põhjustades programmi seiskumise ilma veateadet saatmata. Vabandust. Ma
Ultimate DIY automaatne kalasöötja: 1. tasand: 6 sammu
Ultimate DIY automaatne kalasöötja: Tier 1: Tier 1 on kõige lihtsam söötja. Kasutage seda, kui teil on eelarve piiratud või nagu mina, ei saa te 2. taset tööle enne, kui lahkute pühadeks pooleteiseks nädalaks. Valgustuse juhtimine puudub. Toidu kogus ja tüüp: mul on betta ja 5 neoon
Programmeeritav akvaariumi kalasöötja - kavandatud granuleeritud toit: 7 sammu (piltidega)
Programmeeritav akvaariumi kalasöötja - kavandatud granuleeritud toit: Kalasöötja - mõeldud granuleeritud toit akvaariumi kaladele. Selle väga lihtne disain on täisautomaatne kalasöötja. Seda kasutatakse väikese SG90 mikroservo 9g ja Arduino Nano abil. Toite kogu toiteplokki USB -kaabli abil (USB -laadija või teie USB -pordi kaudu