Terveisiä kaikille mikrokontrollerien ystäville DIY. Jos olet kodin akvaarion onnellinen omistaja, ehkä tämä artikkeli kiinnostaa sinua. Kuvailen siinä yksityiskohtaisesti koko prosessin, jolla luodaan yksinkertainen, mutta erittäin hyödyllinen kotitekoinen vesiviljelylaite, jonka tarkoituksena on helpottaa pienen vedenalaisen maailman omistajan elämää.
Kuten tiedät, onnistunut projekti alkaa teknisten eritelmien valmistelulla. Seuraavat ovat perusvaatimukset ja toiminnot, jotka halusin saada vesiohjaimelta:
- alhaiset kustannukset ja komponenttien saatavuus
- muokattava aika valon kytkemiseen ja sammuttamiseen akvaariossa;
- syöttötila (suodatin sammuu ja käynnistyy automaattisesti 15 minuutin kuluttua);
- ruokintaohjelman sisällyttäminen
- ilman lämpötilan ja kosteuden mittaus (lisäyksenä);
- nykyisen päivämäärän, ajan ja muiden parametrien näyttö LCD-näytöllä;
- hallinta- ja parametriasetukset valikon kautta 4 painikkeella (Ylös, Alas, Ok, Peruuta);
- muokattava aika valon kytkemiseen ja sammuttamiseen akvaariossa;
- syöttötila (suodatin sammuu ja käynnistyy automaattisesti 15 minuutin kuluttua);
- ruokintaohjelman sisällyttäminen
- ilman lämpötilan ja kosteuden mittaus (lisäyksenä);
- nykyisen päivämäärän, ajan ja muiden parametrien näyttö LCD-näytöllä;
- hallinta- ja parametriasetukset valikon kautta 4 painikkeella (Ylös, Alas, Ok, Peruuta);
Edellä esitetyn perusteella syntyi kuvassa 1 esitetty piiri.
Pääosa on levy Työläs ProMinihankittu Kiinassa. Kuten myöhemmin kävi ilmi, siihen oli asennettu ohjain ATMega168 sijaan ATmega328. Tämä sai minut harkitsemaan ohjelman optimointia, koska se osoittautui liian raskaaksi tälle ohjaimelle puolitason flash-muistin takia.
Tietojen näyttämiseen valittiin tunnettu 2-rivinen 16-merkkinen LCD-näyttö. Projektissa se on yhteydessä Työläs 4-johdindataväylällä.
Lämpötilan ja kosteuden mittaamisesta vastaa digitaalinen anturi. DTH11. Kotimaan tarpeisiin se riittää. Itse asiassa sillä ei ole erityistä tarkoitusta, ja se lisätään puhtaasti lisäyksenä kokonaiskuvaan.
Loistelampun ja suodattimen ohjaamiseksi käytin kahta simistorikanavaa, jotka tehtiin joukolle opto-simistoria MOC3063 ja voiman simistori BT137-600E. Tämän ansiosta voimme päästä eroon mekaanisten releiden piiristä, mistä syystä en tunne sympatiaa.
Hallintapainikkeet - tavallinen kello, ilman kiinnitystä.
No, koska kaikki asetukset on sidottu tiettyyn ajanjaksoon, laitteen täytyy välttämättä sisältää reaaliaikainen kello.Tässä tapauksessa käytin moduulia TinyRTC perustuu mikropiiriin DS1703. Moduulia ohjataan protokollalla I2C ja sisältää liitännän akun asentamiseen, jonka avulla voit tallentaa päivämäärän ja ajan, kun virta katkaistaan. Ulkoisen moduulin syöttö näkyy kuvassa nro 2
Kuva nro 2 - reaaliaikainen kellomoduuli
Joten vaatimukset on määritelty, suunnitelma on laadittu - voit siirtyä piirilevyn suunnitteluvaiheeseen. EasyEda-verkkopalvelu auttoi minua selviytymään tästä tehtävästä. Jotta ei vaivauduta reikien poraamiseen, päätin sijoittaa kaikki virtaa kuljettavat radat ja komponentit yläkerrokseen. Kierrettyä yksityiskohtia hieman editorissa, sain piirilevyn mallin, jossa oli vain kolme hyppääjää. Levyn ulkonäkö näkyy kuvassa 3.
Kuva 3 - Vesiviljelykortin ulkoasu
Ne, jotka haluavat toistaa projektin, voivat ladata PCB-tiedoston tästä linkistä:
Näytä online-tiedosto:
Näytä online-tiedosto:
Joten mihin pisteisiin sinun tulisi kiinnittää huomiota. vastus R4 ja R8 - kaksoset, kaikki loput tehdään SMD kotelo 1206. Kellopainikkeilla on koko 12x12. Taulussa on myös kiinalainen jännitemuunnin 220 V / 5 V, jonka ulkonäkö näkyy valokuvassa nro 4.
Kuva nro 4 - jännitemuunnin 220V / 5V.
Nestekidenäyttö ja reaaliaikainen kellomoduuli on suunniteltu asennettavaksi levytelineisiin, joiden rooli olen onnistuneesti suorittanut leikattuilla muovisilla tapilla.
Tämän perusteella kaikki asennuksen ominaisuudet on määritelty, ja jää vain siirtää kortti näytön näytöstä fyysiseen maailmaan. Tätä varten valittiin tunnettu menetelmä. LUT, mikä tarkoittaa lasertulostimen ja silitysraudan läsnäoloa. Niille, jotka eivät tunne tätä tulevaisuuden tekniikkaa, piirilevyn luomisprosessi kylpyhuoneessani kuvataan alla.
Joten aloittelijoiksi etsi kaikki lehdet, joissa on kiiltävät sivut tai valokuvapaperiarkki. Tulostamme piirilevyn kuvion lasertulostimelle unohtamatta kääntää sitä. Valmistelemme pala foliopäällysteistä lasiteksaliittia aihion koon mukaan ja hiomme kuparipinnan hienorakeisella hiomapaperilla loistaakseen. Sen pitäisi olla jotain tällaista (valokuvanumero 5).
Seuraavaksi käännämme tulosteen folioon ja levitämme se piirilevylle. Sen jälkeen ajamme paperia kuumalla silitysraudalla noin 3 minuutin ajan. Lämpenemisaika voi vaihdella raudan lämpötilan ja tämän salaisen rituaalin suorittajan kokemuksen mukaan. Tämä näyttää visuaalisesti suunnilleen tältä (kuva nro 6):
Kun paperi on kiinnitetty tiukasti piirilevyyn, sammuta silitysrauta ja anna piirilevyn jäähtyä. Nyt sinun on poistettava paperikerros huolellisesti, etkä vahingoita tahmeaa väriainetta. Tapahtuman onnistuminen edellyttää, että paperi kostutetaan ja poistetaan rullaamalla sormenpäillä. Tämä prosessi näkyy selkeämmin valokuvassa nro 7.
Joskus käy niin, että joissain paikoissa väriaine ei yksinkertaisesti tartu kiinni. Tässä tapauksessa nämä alueet voidaan täydentää pysyvällä merkinnällä. Kuva nro 8 näyttää taulun paperin poistamisen jälkeen. Huomaa, että vasemmassa yläreunassa ei ole kuvaa, joka palautetaan myöhemmin yllä olevalla menetelmällä.
Kun kaikki epämiellyttävät hetket on poistettu, voit aloittaa syövytyksen. Tätä varten käytin ferrikloridiliuosta yhtenä edullisimmista ja turvallisimmista vaihtoehdoista. Kun levy on syövytetty, huuhtele se huolellisesti liuottimella väriaineen poistamiseksi raidoista. Sitten puhdistamme taas hienolla hiekkapaperilla, rasvanpoistolla ja tinalla. Tulos näkyy kuvassa nro 9.
Yksi päävaiheista on valmis. Seuraava vaihe on radiokomponenttien asennus ja juottaminen. Tämä on luova ja puhtaasti yksilöllinen prosessi. Jos sinulla on kysyttävää, olen valmis vastaamaan niihin kommentteissa, mutta nyt näytän vain tekemäni (kuva 10):
Kuten edellä kirjoitin, näyttö ja kellomoduuli nostetaan levyn yläpuolelle käyttämällä tappeista valmistettuja muovitelineitä nopeaa asennusta varten, ja niiden koskettimet juotetaan levyyn ohuilla langoilla.Lämpötila- ja kosteusanturi näytetään erikseen laitteen päällä. Mielestäni tällä järjestelyllä lukemat ovat tarkempia. Valaisinkanavia ja suodatinta varten kaksi ulkoista pistorasiaa näytetään levyn alaosassa. Nappien korkeus ei myöskään ollut riittävä, joten aion lisätä niitä muoviholkeilla. Joidenkin käsittelyjen jälkeen laite on melkein valmis, kuten kuvassa 11.
Ennen kuin sinetät kotelon yläosan, sinun on kirjoitettava laiteohjelma sisään Arduino ProMini. Tätä varten asetin tapit taululle, joka on kytketty koskettimiin VCC, GND, RX ja TX. Ohjelmoida Arduino ProMini helpointa käyttää USB-ohjelmoija, mutta tätä ei ollut saatavilla. Toinen hallitus suoritti hänen tehtävänsä onnistuneesti Arduino uno ohjaimen ollessa irrotettuna. En käsittele tämän prosessin yksityiskohtia, koska Internetissä on paljon aiheesta kirjoitettuja artikkeleita. Annan vain valokuvan nro 12 selvyyden vuoksi.
Nyt puhutaan itse ohjelmasta. Kun kytket virran päälle, päänäyttö tulee näkyviin. Se näyttää tietoja nykyisestä päivämäärästä, kellonajasta, lämpötilasta ja kosteudesta. Lisäksi järjestelmän nykyisestä tilasta riippuen näytetään useita erikoismerkkejä, nimittäin: valo palaa - aurinkokuvake; valo pois - kuvakkeesta; suodata päällä - suodatinkuvake; ruokinta on käynnissä - kalakuvake. Kun napsautat OK, käyttäjä siirtyy valikkoon, jossa on mahdollista määrittää parametreja, kuten:
- valaistusohjaustila. Tässä osassa voit kytkeä valon päälle ja pois päältä manuaalisesti valitsemalla vastaavan valikkokohteen, ja myös asettaa ajoitetut päälle- ja sammutusajat.
- suodattimen ohjaustila. Voit kytkeä suodattimen päälle ja pois päältä manuaalisesti, valita ruokintatoiminnon (fedding) ja aseta ruokinta-aikataulu. Syöttötilassa suodatin pysähtyy ja palautuu automaattisesti 15 minuutin kuluttua.
- nykyisen päivämäärän asettaminen.
- nykyisen ajan asettaminen. Päivämäärän ja ajan tiedot tallennetaan kellomoduuliin, ja kun virta katkaistaan, niitä ei palauteta, jos siihen on asennettu akku.
Ymmärrettävyyden parantamiseksi kuvassa 13 esitetään valikkorakenne.
- valaistusohjaustila. Tässä osassa voit kytkeä valon päälle ja pois päältä manuaalisesti valitsemalla vastaavan valikkokohteen, ja myös asettaa ajoitetut päälle- ja sammutusajat.
- suodattimen ohjaustila. Voit kytkeä suodattimen päälle ja pois päältä manuaalisesti, valita ruokintatoiminnon (fedding) ja aseta ruokinta-aikataulu. Syöttötilassa suodatin pysähtyy ja palautuu automaattisesti 15 minuutin kuluttua.
- nykyisen päivämäärän asettaminen.
- nykyisen ajan asettaminen. Päivämäärän ja ajan tiedot tallennetaan kellomoduuliin, ja kun virta katkaistaan, niitä ei palauteta, jos siihen on asennettu akku.
Ymmärrettävyyden parantamiseksi kuvassa 13 esitetään valikkorakenne.
Lataa laiteohjelmisto Arduino Pro Mini ja kaikki tarvittavat kirjastot voivat olla tämä linkki
Kun olet kirjoittanut ohjelman mikro-ohjaimelle, voit sulkea kotelon ja jatkaa testejä todellisissa olosuhteissa. Noin viikko toimintakautta kului ennen tämän artikkelin kirjoittamista. Vesiviljelylaite toimi täydellisesti ilman mitään toimintahäiriöitä. Säästäen minua vetämästä jatkuvasti haarukoita kalojen syöttämiseksi tai valojen sammuttamiseksi. Ponnistelujeni tulos näkyy kuvassa nro 16.