Sisällysluettelo:

Ultimate DIY automaattinen kalan syöttölaite: Taso 2: 10 vaihetta (kuvilla)
Ultimate DIY automaattinen kalan syöttölaite: Taso 2: 10 vaihetta (kuvilla)

Video: Ultimate DIY automaattinen kalan syöttölaite: Taso 2: 10 vaihetta (kuvilla)

Video: Ultimate DIY automaattinen kalan syöttölaite: Taso 2: 10 vaihetta (kuvilla)
Video: Установка маяков под штукатурку. Углы 90 градусов. #12 2024, Heinäkuu
Anonim
Ultimate DIY automaattinen kalan syöttölaite: Taso 2
Ultimate DIY automaattinen kalan syöttölaite: Taso 2

Tier 2 -syöttölaite on suuri askel ylöspäin tasosta 1. Tämä versio käyttää ESP8266 -wifi -moduulia synkronoimaan arduino -kello syöttöaikataulun ja säiliön valaistuksen hallitsemiseksi.

Vaihe 1: Mitä tarvitset:

Kaikki tasossa 1 paitsi valoajastin

  • ESP8266-01
  • FTDI -ohjelmoija (ESP8266: n ohjelmointiin)
  • Juotin
  • 5V RGBW LED -nauha (SK6812 IP 65, päivänvalo valkoinen, käytin tätä)
  • Valoliuskan on oltava vedenpitävä, koska vesi haihtuu säiliöstä ja tiivistyy säiliön kanteen ja syttyy.
  • 5V virtalähde (käytin tätä, arduino EI VOI virrata kaikkia valoja yksin.).
  • Voit vapaasti käyttää mitä tahansa 5 V: n virtalähdettä, vaan varmista, että se tarjoaa tarpeeksi virtaa kaikkien valojen toimittamiseen.
  • 3.3V jännitesäädin
  • ESP8266 toimii 3,3 V: n jännitteellä, minkä vuoksi kaikki muu on 5 V, on helpompi siirtyä 5 alas 3,3 kuin alas 12-3,3
  • Vastukset (1kOhm x2, 2kOhm x2 (tai 1kOhm x4), 10kOhm x1)
  • pikaliima
  • Kuuma liima
  • 3D -tulostetut osat x8 (mukana STL -tiedostot)
  • Langanpoistimet (suosittelen näitä hyödyllisiä asioita)
  • Leipälauta (tavaroiden kirjoittamiseen)
  • Protoboard/projektilevy (lopulliseen kokoonpanoon)
  • Tavallinen 3-piikkinen tietokoneen virtajohto.
  • (valinnainen) Matkapuhelimen tärinämoottori (suppilon ravistamiseksi) (käytin yhtä näistä)
  • Asenna nämä arduino -kirjastot:
  • ESP8266WiFi.h
  • WiFiUdp.h
  • AikaLib.h
  • Dusk2Dawn.h
  • Adafruit_NeoPixel.h
  • Kärsivällisyyttä.

Vaihe 2: Näin se toimii

ESP8266 saa Unix -ajan NIST -palvelimelta ja välittää sen arduinoon. Arduino käyttää sitten tätä aikaa paikallisen auringonnousun ja -laskun määrittämiseen ja synkronoi sisäisen kellonsa määrittääkseen, kuinka monta minuuttia on kulunut keskiyöstä. Käyttämällä tätä keskiyöstä kulunutta aikaa arduino asettaa valojen värin ja tietää milloin aktivoida syöttölaite, joka on sama mekanismi kuin Tier 1 freeder. Kirjoittamani arduino -koodin oletusasetuksissa valot on asetettu päivä-/yöjaksoon, jota voidaan säätää sekuntiin tasaisen häipymisen vuoksi ja jotka synkronoidaan sijaintisi auringonnousun ja -laskun kanssa. Arduino nollaa itsensä myös kerran päivässä synkronoidakseen itsensä uudelleen NIST-palvelimen kanssa ja varmistaakseen, ettei ajastimen ylivuotoja ole

Vaihe 3: ESP8266: n ohjelmointi

ESP8266 ohjelmointi
ESP8266 ohjelmointi

Okei, joten ESP8266 on ohjelmoitava paskiainen.

Se ei ole leipälautaystävällinen, ja jos sinulla on naarashyppyjohdot, suosittelen niiden käyttöä. Jos ESP8266 tuli ilman laiteohjelmistoa, kuten minun, laiteohjelmisto on päivitettävä. Käytä tätä FTDI -ohjelmoijalla, siellä on paljon ohjeita siitä, miten tämä tehdään muualla, mutta toimitin kytkentäkaavion mukavuuden vuoksi. VARMISTA, että FTDI -ohjelmoija tarjoaa 3.3V! 5V paistaa ESP8266 -laitteesi. Kaaviossa GPI01: n ja GND: n välille kytketty oranssi tulisi tehdä vain, kun ESP8266: n laiteohjelmisto vilkkuu. GPI01: n ei pitäisi olla yhteydessä, kun ladataan todellinen arduino -koodi moduuliin.

Seuraavaksi sinun on ladattava ESP8266: n todellinen koodi. Käytä tällä kertaa FTDI -ohjelmoijaa yhdessä arduino IDE: n kanssa. Sinun on myös ladattava ja asennettava kaikki käytetyt kirjastot. Koodin lataamiseen käytetyt asetukset arduino 1.8: lla ovat alussa kommentoidussa osassa. Muista päivittää koodi wifi -verkossa ja salasanalla.

Vaihe 4: Liitä ESP8266 Arduinoon

Liitä ESP8266 Arduinoon
Liitä ESP8266 Arduinoon
Liitä ESP8266 Arduinoon
Liitä ESP8266 Arduinoon

Kun koodi on ladattu, voit irrottaa FTDI -ohjelmoijan ja kytkeä ESP8266: n kaavion mukaisesti. Vastuksia käytetään jännitteenjakajina varmistaaksemme, että arduino ei pumppaa 5 V ESP8266: n tiedonsiirtoon ja nollaa nastat. Suorita tämä vaihe leipätaululla virheenkorjausta varten, laitamme sen esilaudalle myöhemmin.

Kun ESP8266 on kytketty, sinisen valon pitäisi vilkkua, kun se on kytketty virtalähteeseen, muutaman sekunnin kuluttua sen pitäisi saada Unix -aika Internetistä ja lähettää se arduinoon, jolloin sen tyhjä silmukka (), että se on paikallaan, kunnes se nollataan, aivan kuten Tier 1 -syöttölaite.

Varmistaaksesi, että ESP8266 toimii, sinun on ladattava seuraavan vaiheen koodi arduinoon ja avattava sarjamonitori.

Vaihe 5: Arduino -koodin lataaminen ja vianmääritys

Arduino -koodin lataaminen ja vianmääritys
Arduino -koodin lataaminen ja vianmääritys

Lataa nyt koodi arduino nanoon, avaa sarjamonitori, sinun pitäisi nähdä jotain yllä olevan esimerkin kaltaista. Arduino nollautuu, kun avaat sarjamonitorin, joten ESP8266 nollataan samanaikaisesti. sarjamonitori alkaa laskea sekunteja 1. tammikuuta 1970 keskiyöstä, kunnes ESP8266 lähettää sille nykyisen Unix -ajan. Kun näin tapahtuu, sinun pitäisi nähdä tämä:

Tämä voi kestää 3-15 sekuntia, jotta tämä toimisi, joten ole kärsivällinen. Olen harvoin nähnyt sen kestävän yli 10 sekuntia, mutta anna sille 15 ennen vianmäärityksen aloittamista.

Jos ESP8266 ei lähetä aikaa arduinoon, kokeile seuraavia vaiheita:

· Varmista, että kaikki on kytketty täsmälleen niin kuin sen pitäisi

· Tarkista vielä kerran, että olet lisännyt ESP8266 -laitteeseen oikean wifi -verkon SSID -tunnuksen ja salasanan. Jos ei, sinun on kytkettävä se takaisin FTDI -ohjelmoijaan ladataksesi oikeat tiedot ja kytke se sitten uudelleen arduinoon. (erittäin pitkä SSID tai salasana voi aiheuttaa ongelmia, mutta wifi -verkossa on yli 20 merkkiä molemmilla kentillä, joten useimpien kotiverkkojen pitäisi olla kunnossa)

· Tarkista, onko reitittimen järjestelmänvalvojan sivulla (jos mahdollista) liitetty laite, joka näkyy vain, kun ESP8266 on päällä. Varmistaaksesi, että se pysyy päällä, kun tarkistat tämän (arduino poistaa sen käytöstä), kytke ESP8266: n nollaustappiin johtava johdin suoraan 3,3 V: iin, pitämällä se KORKEA pitää ESP8266: n päällä. Muista kumota tämä tarkistuksen jälkeen.

Vaihe 6: Arduino -koodin mukauttaminen

Kun ESP8266 on kytketty ja lähettää aikaa arduinoon, ohjelmoitu arduino laskee vain ajan ja näyttää muutamia muita virheenkorjaustietoja, kuten auringonnousun ja auringonlaskun. Voimme muokata joitain näistä arvoista arduino -koodissa, loput ovat yksinkertaisesti siellä, jotta voisin korjata koko järjestelmän.

Jos haluat ymmärtää paremmin, miten arduino laskee auringonnousun ja -laskun, lue Dusk2Dawn -kirjaston dokumentaatio. Sinun on syötettävä leveys- ja pituusaste (jos muutat sijaintisi nimeä, varmista, että se on muutettu kaikkialla koodissa!) Dusk2Dawn käyttää GPS -koordinaatteja (jotka löytyvät Google Mapsista) ja paikallista aikaa määrittää, milloin aurinko nousee ja laskee minuuteissa keskiyöstä. MinfromMid -muuttuja on nykyinen minuutti keskiyöstä lähtien, ja sitä verrataan auringonnousuun, auringonlaskuun, ruokinta -aikoihin ja hämärään, jotta arduino voi kertoa, mitä tehdä. Muista myös päivittää aikavyöhykkeesi, oletus on EST.

Kun sijaintisi on asetettu, aseta hämäräaika kertomaan arduinolle, kuinka kauan haluat hämärän olevan. Tämä ohjaa päivän ja yön välisen ajanjakson kestoa ja annetaan minuutteina. Oletusarvo on 90 minuuttia, joten RGBW -valot himmenevät päivästä yöhön tai päinvastoin tuon ajan kuluessa.

Aseta seuraavaksi haluamasi syöttöajat. Todelliset syöttöajat asetetaan getTime () -menetelmässä, jotta syötteet synkronoidaan päivä/yö. Jos haluat, että kalasi syötetään joka päivä samaan aikaan, kommentoi suhteelliset asetukset ja käytä alkuasetuksia koodin alussa. Muista, että nämä ajat ovat minuutteina keskiyöstä. Alkuperäisten, kovakoodattujen syöttöaikojen käyttäminen voi häiritä valaistusta, jos syöttöaika laskeutuu hämärän ja päivänvalon välillä (auringonnousun ja -laskun aikaan). Koodin oletusarvo on 15 minuuttia ennen auringonlaskua ja auringonnousun jälkeen. Halutessasi voit lisätä ruokinta -aikoja.

Aseta seuraavaksi aika, jonka haluat arduinon nollautuvan. Tämä varmistaa, ettei mikään ajoitus ylitä ja synkronoi kelloa uudelleen. Suosittelen, että tämä tapahtuu keskellä päivää, kun olet poissa, koska nollausprosessi saa valot kirkkaiksi. Päivällä tämä ei ole ongelma kalalle, mutta yöllä tai aamulla/illalla valon välähdys voi häiritä kalaa tai pilata säiliön ulkoasun muutaman sekunnin ajan, kun nautit siitä.

Tarkista lopuksi LED -valojen määrä nauhassa, My stripissä on 60, mutta sinun on päivitettävä tämä arvo asetuskoodissa, vaikka kuinka monta LEDiä käytät.

Vaihe 7: Valaistus

Valaistus
Valaistus

Liitä LED -nauha, jos et ole jo tehnyt sitä.

Virta (punainen) - 5 V, maadoitus (valkoinen) maahan, signaali (vihreä) nastaan 6 (tai mihin tahansa asetat sen). Kun arduino on nollattu, valot ovat täydessä kirkkaudessa, kunnes ESP8266 lähettää ajan arduinoon ja määrittää, missä se on valaistusjaksossa. On parasta asettaa tämä illalla tai yöllä, koska valon muutos on voimakkaampi. Jos valot eivät muutu 30 sekunnin kuluessa, nollaa arduino. Palautuskoodini pitäisi toimia, mutta en ole ammatiltani ohjelmoija, joten siellä voi silti olla pari vikaa. Voit testata, että nollaus toimii, asettamalla nollausajaksi minuutti koodin lataamisen jälkeen ja odottaminen (nollaus sekunti satunnaistetaan, joten nollaaminen voi kestää 1-2 minuuttia) Voit tehdä saman tempun myöhemmin päälle varmistaaksesi, että servo toimii muuttamalla syöttöaikaa. Muista vain muuttaa näitä aikoja takaisin ennen kuin jätät sen toimimaan.

Valaistuksen oletusaikataulu on melko yksinkertainen:

Yöllä kaikki valot ovat sammuneet paitsi sininen, joka on alimmalla asetuksellaan (2/255). Kun aika lähestyy auringonnousua, sininen kasvaa täyteen voimakkuuteensa (255), jonka se saavuttaa hämärän alkaessa. Hämärässä punaiset ja vihreät nousevat 255: stä ylöspäin. Auringonnousun aikaan punainen, sininen ja vihreä ovat kaikki 255: ssä, mutta päivänvalo on valkoinen, joten seuraavan 2 minuutin aikana punainen, sininen ja vihreä haalistuvat ja valkoiset haalistuvat. Koko päivän ajan valkoinen on täydellä teholla, 2 minuuttia ennen auringonlaskua, jolloin se häipyy ja korvataan punaisella, sinisellä ja vihreällä. Auringonlaskun aikaan valaistus palaa hämärään, paitsi että tällä kertaa punainen ja vihreä alkavat täydellä teholla ja häipyvät, jättäen sinisen täydellä teholla, kun yö saapuu. Tästä sininen palaa hitaasti takaisin alimpaan arvoonsa, jonka se saavuttaa keskiyöllä.

Arduino -luonnoksen lopussa on toinen koodi muille valaistustiloille, joten voit leikkiä matematiikan parissa saadaksesi valaistuksen haalistumaan eri tavalla tai vaihtamaan värejä eri vuorokaudenaikoina. Muista, että laskenta suoritetaan kelluvassa muodossa, mutta väriarvojen on oltava ints, joten muuntaminen on välttämätöntä näiden kahden välillä minkä tahansa uuden valaistusmatematiikan avulla.

Vaihe 8: Osien tulostaminen

Jos et ole vielä tulostanut tämän tason osia, tee se. Kotelo on suunnilleen samankokoinen kuin keskikokoinen suodatinyksikkö, ja tulostaminen vei koko yön. Puhdista osat, aseta väliseinän jakaja ura ylöspäin ja pyöristetty reuna ulospäin. Servo asennetaan samalla tavalla kuin tasossa 1, ja jos vaihdat Tier 1 -järjestelmän, suppilo, kansi ja syöttöpyörä ovat identtiset, joten sinun ei tarvitse tulostaa niitä uudelleen, jos ne toimivat.

. Zip -kansio sisältää kaksi STL -tiedostoa, joista toinen on käyttämässäni alkuperäisessä SM22 -servomoottorissa ja toinen paljon yleisemmässä SG90 -servossa. Molemmat sisältävät Fusion 360 -tiedostoja, jos haluat/haluat muuttaa jotakin osaa. SM22 STL: t sopivat ehdottomasti yhteen, koska olen käyttänyt niitä. En ole tulostanut tai testannut SG90 -osia.

Materiaalien osalta suosittelen elintarvikkeille turvallisen muovin käyttöä. Käytin Makergeeksin Raptor PLA: ta, joka on tonnia värejä ja on erittäin vahva sen jälkeen, kun olet hehkuttanut sen 10 minuutin ajan. Tämä voidaan tehdä keittämällä osat, mitä suosittelen tekemään vain pyörälle, jos se ei sovi oikein, koska hehkutus kutistaa osat noin.3%.

Tulostin kotelon kyljelleen (yläpuoli sivulle ja avoin puoli ylöspäin) Tämä käyttää paljon vähemmän tukimateriaalia kuin muut suunnat. Säiliö voidaan tulostaa ylösalaisin, jotta vältetään kaikki tukimateriaali. Säiliön kansi tulee myös tulostaa ylösalaisin, mutta iso kansi tulee tulostaa oikea puoli ylöspäin.

Kotelon alaosassa on myös "stopstop" -osa. Kun jätin syöttölaitteen paikalleen pariksi viikoksi, huomasin, että se oli alkanut painua ja taipua virtalähteen painosta, mikä vaikutti suppilon kykyyn syöttää ruokaa pyörään. Liimaa kuumaa liimaa 1-2 päätykappaletta kotelon pohjaan, jotta kaikki pysyy tasaisena.

Vaihe 9: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Käytä protoboardia kaiken yhdistämiseen. Käytin hyppyjohtimia, joten minun ei tarvinnut juottaa niin paljon, mutta tässä juotat eniten. Niin kauan kuin liitännät ovat samat, järjestelmä toimii kuten leipälevyllä. Juotin otsikkotapit yhteen luodaksesi tehon "kiskot" maahan, 5V, 3,3V, sekä signaaliportit servo- ja ei-teholliset 3,3V signaalit ESP8266: lle (RX, CH_PD ja RST). Suuntasin kaikki nastat protoboardin alareunaan, komponentit ylhäällä.

Kun protoboard on valmis, aseta se kotelon ylempään onteloon ja kytke servomoottori. Valaistuskaapelit menevät ulos kotelon kannen lovesta ja virtalähde sopii alaonteloon. Pohjaontelo on pyöristetty ja siinä on pieni kaltevuus veden poistamiseksi, joka jotenkin onnistuu pääsemään koteloon pois elektroniikasta. Liitä virtalähteen positiiviset ja negatiiviset liittimet järjestelmään ja lisää sivukansi.

Jos et ole jo tehnyt tätä virtalähteellesi, katkaise virtajohdon pää, joka ei liity seinään, ja irrota johdot tarpeeksi, jotta voit liittää ne oikeisiin virtalähteen liittimiin. Jos sinulla on puristuspäitä, jotka voit laittaa päihin, suosittelen niiden käyttöä, ellei paljaat kuparit ole kunnossa, varmista vain, ettei mikään ole oikosulussa! MUISTA, että tämä kytketään kotisi verkkovirtaan, OLE TURVALLINEN JA ÄLÄ KOSKAAN TYÖSTÄ JÄRJESTELMÄN KYTKETTYNÄ.

Seuraavaksi valolista on lisättävä säiliöön. Poista säiliön kansi ja kuivaa se kokonaan. Varmista, että kannen pinta on puhdas ja kuiva ennen valojen lisäämistä. Saamassani nauhassa on liimapohja, joka ei toimi valonauhan kiinnittämiseksi, mutta se toimii asettamalla ne kannen reunaa pitkin (tai mihin tahansa asetat ne) Säiliön kansi sattui olemaan oikean kokoinen nauhalleni, joten minun ei tarvinnut jatkaa johtoja. Varmista vain, että kaikki paljaat johdot on peitetty vedenpitävillä materiaaleilla, ennen kuin asetat kannen takaisin säiliöön. Käytin kuumaa liimaa päiden peittämiseen, mutta se ei ehkä toimi pitkällä aikavälillä. Kun valot on järjestetty haluamallasi tavalla, liimaa ne paikoilleen. Minun piti käyttää ylimääräistä liimaa kulmissa, koska LED -nauha nousi ylös. Anna liiman kuivua muutama minuutti ennen kuin laitat kannen takaisin säiliöön varmistaaksesi, ettei mitään tippu sisään. Kun kansi on jälleen kiinni, kytke johdot arduinoon.

Syöttölaite on täsmälleen sama kuin Tier 1 -syöttölaite. Servo sopii onteloonsa, kun syöttöpyörä on liimattu siihen. Syöttöpyörän taskun tulee osoittaa suppiloa kohti, kun servo on 0 -asennossa (ja pyörii kohti säiliötä 180 -asennossa). Jos käytät lisävarusteena saatavaa tärinämoottoria, juota siihen joitakin johtimia ja työnnä se suppiloon, servokotelossa on ontelo sitä varten. Lähetä moottorin johdot samalla reitillä kuin servojohdot ja liitä ne maahan ja moottorin nastaan arduinoon. Kuumaa liimaa säiliö pohjaan.

Kun kaikki on kytketty, voit kytkeä virtalähteen seinään. Arduino pitäisi käydä läpi käynnistysjärjestyksensä ja valot vaihtuvat, kun aika tulee. Jos ei, nollaa levy, kunnes se saa ajan. Liimasin kotelon kannen kuumalla paikallaan, mutta jätin sivukannen liimaamatta, jotta pääsen käsiksi arduinoon nollata tai ohjelmoida sen uudelleen.

Onnittelut! Tason 2 kalasyöttölaite on valmis! Ihaile kaunista valaistusta ja sen kykyä ruokkia kaloja, kun olet poissa! Muista seurata järjestelmää seuraavien päivien aikana varmistaaksesi, että kaikki toimii oikein ja että kalasi itse asiassa syötetään.

Vaihe 10: Asioita, joita kannattaa ensin tarkkailla:

Asioita, joita kannattaa aluksi tarkkailla
Asioita, joita kannattaa aluksi tarkkailla
Näitä asioita aluksi
Näitä asioita aluksi
Näitä asioita aluksi
Näitä asioita aluksi

Kun asetin omani ensimmäistä kertaa, kytkin servon vahingossa väärään signaalitappiin, joten kaloja ei syötetty useaan päivään ennen kuin huomasin virheen (olin syöttänyt niitä manuaalisesti yöllä vastauksena seuraavaan virheeseen). Yritä asettaa ruokinta -ajat siten, että olet todennäköisimmin lähellä, ja vahvista, että kalasi on syötetty.

Toinen tarkkailtava virhe on nollaus. Jos esimerkiksi saavut kotiin auringonlaskun jälkeen ja säiliösi on edelleen päivänvalossa, nollaustoiminto epäonnistui ja arduino ei koskaan saanut aikaa ESP8266: lta. Tämä tarkoittaa myös sitä, että kaloja ei ole syötetty nollausajan jälkeen, joten sinun pitäisi luultavasti ruokkia niitä itse samalla kun painat arduinon nollauspainiketta. Olen 99% varma, että poistin tämän, mutta koodaus ei ole ammattini, joten muista varoa sitä.

Muista myös tarkistaa säiliön ruoka viikoittain tai parin välein, täytä se tarvittaessa uudelleen ja varmista, ettei mikään mene huonosti.

Jos lähdet lomalle, varmista vedenvaihto ja muut perussäiliön huollot ennen lähtöä. Syöttölaite varmistaa vain, että ruoka ja valaistus eivät ole kalan loppu, jos olet poissa liian kauan. Sinun ei enää koskaan tarvitse käyttää lomamatkoja!

Suositeltava: