Virágföld szárazságmérő

dlaszlo
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2013. április 20. szombat, 6:38

Virágföld szárazságmérő

Hozzászólás Szerző: dlaszlo »

Sziasztok!

1-2 hete kezdtem el foglalkozni az Arduino-val, illetve az AVR mikrokontrollerekkel, az elektronikával kapcsolatban nagyon sok alapvető dolgot kell még megtanulnom. Az első projektem eredményét szeretném közreadni, nem biztos hogy nincs benne szarvashiba, egyéb hibás elgondolás, kérlek ezt figyelembe véve olvasd amit írok. Aki szintén teljesen kezdő, érdekesnek találhatja a témát, aki pedig tapasztaltabb, esetleg írhatna pár sort, hogy mit kellene máshogy csinálni, ezt nagyon megköszönném.

Az első projektnek (a villogó led Arduino program kipróbálása után) egy virágföld szárazságmérőt csináltam. Tudom ez az 1000. változat, az Interneten több is fellelhető, elcsépelt lehet, de kezdésnek szerintem jó. Az eredeti változat, amit az Interneten találtam, és megtetszett, tweet-et tud küldeni, de ez azt hiszem túlzás lenne, célkitűzésnek első körben elég annyi, hogy ha kiszárad a virágföld, meg kell locsolni a virágot, akkor villogjon egy led (szerintem ne csipogjon, mert az éjszaka nem biztos hogy jó ötlet). Az eszköz állítható legyen, olcsó legyen, és elemről működjön. A következő eszközöket választottam: CR2032 elem (3V-os), ATTINY25 mikrokontroller.

A program fejlesztéséhez én Eclipse IDE-t használok. A programot C-ben írtam, az Arduino library-je nélkül, mert az ATTINY25-ben csak 2kb flash memória van, eredetileg ATTINY13-at (1kb flash memória) akartam használni, csak nem találtam.

Az alapgondolat, hogy ha száraz a virág földje, akkor nagyobb az ellenállása, mint ha nedves, ezt fogja az eszköz kihasználni. (remélem ez jó elgondolás :) )

Belefutottam 1-2 érdekes problémába:

1. A föld egyes helyeken eltérő lehet, nem mindegy hogy az elektródákat milyen messzire szúrjuk le egymástól, mi van ha az egyik virágot tápoldatozzák, a másikat nem, tehát az alapvető kérdés, hogy mikor mondjuk a virágföldre hogy ki van száradva: Ezt egy potméterrel gondoltam beállítani, ami a virágfölddel van sorba kötve, egy ellenállásosztót létrehozva. Tehát a beállítás: Ha száraz a virágföld (vagyis meg kellene locsolni a virágot), akkor benyomjuk az elektródákat a virágföldbe, megkeressük a potméterrel azt a pontot, amikor már nem villog az eszköz, majd visszaállítjuk egy picit, hogy villogjon (hiszen száraz a föld). Ezután meglocsoljuk a virágot, a led elalszik. Ha megint elérjük az eredeti állapotot, akkor a LED-nek villognia kell. A virágföld kb 5-10 kOhm-os lehet, ha egymástól 3-4 cm-re szúrom a két elektródát. A beállító potméter 47kOhm-os, tapasztalati érték és az Internet alapján.

2. Ha belenyomjuk az elektródákat a földbe, majd áramot vezetünk át rajta, akkor elektrolízis indul el. Pár nap után az elektróda korróziója miatt használhatatlan lesz az eszköz: http://db.tt/8gPSg4v6 Erre egy másik virágföld szárazságmérő projektből vettem az ötletet: Mérés után közvetlen meg kell cserélni nagyon rövid időre az elektródák polaritását. Az én próbám alapján nem teljesen tökéletes ez a megoldás, de sokkal jobb lett a helyzet, az eszköz használható marad: http://db.tt/zA68PScL

3. Mivel az eszköz egy gombelemről működik, kérdésként merült fel bennem, hogy vajon meddig bírja, egyáltalán kitart-e az első jelzésig? Ezt a mikrokontroller alvás üzemmódjával, és a watchdog áramkörrel gondoltam megoldani. Itt nagyon jó leírások vannak: http://www.atmel.com/devices/attiny25.a ... =documents, itt érhető el az ATTINY25 adatlapja is, illetve van itt egy nagyon jó leírás arról, hogy mire jó a watchdog, mik a usecase-ek: http://www.atmel.com/Images/doc2551.pdf
Az ATTINY25 adatlapját érdemes böngészni, mert fontos infókat tartalmaz, aminek az ismerete nélkül nem fog működni a program: például ami nagyon egyszerű és kézenfekvő dolog, de én mégis sokat küzdöttem vele, az interruptok alapértelemzésben le vannak tiltva. Ha az Arduino keretrendszert használtam ott minden jól működött (alapesetben engedélyezve vannak az interrupt-ok), ha a saját programom futtattam, az nem működött (az alapértelmezetten tiltott interrupt-ok miatt).
A példaprogram, hogy hogyan kell használni a watchdog –ot, hogy kell a sleep módot bekapcsolni, hogy kell analóg digitális átalakítást végezni, az Interneten fellelhető. Az adatlapot a példaprogramok elemzéséhez, megértéséhez el kellett olvasni.

A program egyszerű, itt található: https://gist.github.com/dlaszlo/5429438

A program minden 8 mp-es ciklus elején megcsinálja a mérést + felcseréli az elektródákat (rövid időre), jelez a leddel ha szükséges, majd power down sleep módba teszi a kontrollert. A watchdog timer 8 mp után feléleszti a mikrokontrollert, majd új iteráció kezdődik. Van egy nyomógomb, amit az eszköz beállítása közben kell megnyomni, hogy ne kerüljön a mikrokontroller sleep módba (vagy kikerüljön onnan), ez azért kell, hogy folyamatosan lehessen látni a ledet hogy világít, vagy sem.

A kapcsolási rajz (remélem nem rontottam el):

http://db.tt/oI3DbjqS

Üdv!
Avatar
havasi
DrótVégénSzéndarab
Hozzászólások: 38
Csatlakozott: 2010. szeptember 7. kedd, 6:00

Re: Virágföld szárazságmérő

Hozzászólás Szerző: havasi »

Szia!
Egy tipp a korrózió ellen: használhatod elektródáknak egy kiégett izzó árambevezető szálait, platinából vannak. (Ha nem sósavval öntözöl, bírni fogják.)
Demonstrációnak jó, de azt ugye tudod, hogy egy tranzisztorral is meg lehet ezt a feladatot oldani.
üdv, Péter
dlaszlo
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2013. április 20. szombat, 6:38

Re: Virágföld szárazságmérő

Hozzászólás Szerző: dlaszlo »

Szia!

Köszi a tippet!

Tranzisztoros megoldás: Találtam is hasonló projekteket a neten, de érdekes része a dolognak az mikrokontroller alacsonyabb szintű kezelése (az Arduino API-k nélkül), a programozás sokkal közelebb áll hozzám mint az elektronika, érdekes a watchdog üzemmód, megszakítások kezelése, Jó dolog pl az Eclipse használatba vétele is az Arduino IDE egyfájlos szerkesztője helyett. Ezek miatt foglalkoztam ezzel, aki szereti a virágokat az locsolni fogja, aki meg nem, annak nincs mit locsolni, szerintem az elkészült eszköznek valahol nincs is értelme :D. Viszont érdekel a tranzisztor is, ahogy írtam a relés szálon. :)

üdv: Dávid
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Virágföld szárazságmérő

Hozzászólás Szerző: Robert »

Logolni a locsolást, kis mikroszivattyú és tápoldatok. Légnedvesség/páratartalom és hőfokmérés a megvilágítás spektrális eloszlásának függvényében. És ez simán etherneten át logolva + távfelügyelet. ja és SMS-t küld, ha hiba van :) .

U.i.: nálam a kaktusz is kiszárad....
dlaszlo
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2013. április 20. szombat, 6:38

Re: Virágföld szárazságmérő

Hozzászólás Szerző: dlaszlo »

Kaktusz: én meg letesztelni nem tudom, rájöttem X idő várakozás után, hogy a feleségem meglocsolja a virágokat, úgyhogy hiába várom hogy villogjon :)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Virágföld szárazságmérő

Hozzászólás Szerző: Robert »

Mostmár az asszonynak felém is eszébe jut, hogy locsolni kéne. Pedil elmúlt húsvét :).

Na most megöntöztem én is... Porzott a földje ....
Válasz küldése