Csináld magad: elemteszter

|

Mikrovezérlőd segítségével meghatározhatod az elemek feszültségét, a mért értékből pedig következtethetsz a telep állapotára.

Az Arduino mikrokontrollerek egyik legnagyobb előnye, hogy rengeteg olyan eszközt barkácsolhatsz belőlük házilag, amelyeknek a mindennapok során is hasznát veheted. Ezek ugyan nem minden esetben olcsóbbak gyári társaiknál - és olykor a hatékonyságuk is megkérdőjelezhető -, az összeszerelésükkel és felprogramozásukkal azonban rengeteg értékes technológiai ismerettel gazdagodhatsz. Cikkünkben most egy ilyen praktikus eszköz elkészítését mutatjuk be, amellyel az elemek aktuális feszültségértékét számszerűsítheted, és ezáltal azt is kiderítheted, hogy merülőfélben vannak-e.

Minimális bevásárlás

Egy ilyen elemvizsgáló hardver összeállítása és a programozási gyakorlat is viszonylag egyszerű, a belépő szint megugrásához ugyanakkor néhány komponensre szükséged lesz. Ha a legminimálisabb konfigurációval is megelégszel, mindössze két kábelt kell készülékedhez szerezned, amelyek közül az egyiket valamelyik analóg kivezetéshez kell csatolnod, a másikat pedig a GND jelzésű földeléshez. De ez a változat azért problémás, mert a túlfeszültség ellen csupán minimális védelemmel rendelkezik, így könnyen megsütheted a mikrovezérlődet az áramkör zárásakor.

Érdemes tehát egy fokkal biztonságosabb megoldás mellett dönteni. Ehhez a mikrovezérlő mellé szükséged lesz egy prototípuslapkára, legalább három különböző színű LED-re, kábelre, valamint ellenállásokra is.Az alapszükségletek nagyjából ennyi kiegészítőnél véget is érnek, és van még egy-két komponens, amire akkor lesz szükséged, ha kicsit komolyabb telepeket is vizsgálnál.

Mivel az Arduino 5 voltos feszültség felett hajlamos megadni magát, javasoljuk, hogy az első prototípusokat 1,5 voltos elemekkel teszteld, és csak a megfelelő fizikai ismeretek birtokában merészkedj magasabbra. Nagyobb kapacitás esetén bevethetsz úgynevezett Z diódákat, valamint trükkösen kapcsolt ellenállásokat is, ezek ugyanis lehetővé teszik a feszültség szabályozását.

Kábelek mindenütt

A közepesen bonyolult rendszer összeállításakor először a breadboardon helyezd el a LED-lámpákat, majd ellenállásokkal csatlakoztasd őket a mikrovezérlődön található 2-es, 3-as és 4-es digitális pinekhez. Ezt követően a földelést is valósítsd meg, ehhez az Arduino GND feliratú (a 13-as aljzat mellett elhelyezett) csatlakozóját kösd össze kábelek segítségével prototípuslapkád negatív oszlopával. Ha ez megvan, földelheted az állapotjelző lámpákat is, a diódák már üzemkész állapotban várják a bevetést. Itt az idő, hogy foglalkozz egy kicsit a bemeneti adatok kezelésével is, ehhez mikrovezérlőd analóg portjai közül az A0-t is vezesd át a breadboardra úgy, hogy ellenállást is társítasz mellé.

Ezek után jöhet a két teszterszál: az egyiket értelemszerűen a földelésből, a másikat pedig az analóg port kivezetése melletti ellenállásból indítsd. Áramkörödet így majd az elemek behelyezésével tudod zárni. Amennyiben aggódsz a túlfeszültség miatt, vagy a már említett nagyobb teljesítményű telepek vizsgálata is foglalkoztat, akkor az analóg bemeneted ellenállása mellé helyezd el a már említett Z diódát - esetleg a megfelelően kapcsolt multiplikáló ellenállásokat -, és ehhez kösd az elemre csatolandó kimenetet.

Kódolt villanások

Sikeresen összeeszkábáltad a hardveres komponenseket, itt az idő, hogy az őket életre keltő kódot is elkészítsd. Szerencsére túlzottan komoly dolgod nem lesz, mindössze néhány sornyi utasításra van szükség a kívánt eredményhez. Mivel az alapfunkciók bemutatásához a LED-es verziót használod, első lépésként a három világító dióda portjait kell beállítanod. Ezt az int zold = 4; int sarga = 3; int piros = 2; sorok begépelésével teheted meg, és mivel globális változóként használod majd őket, a setup() függvény elé kerülnek.

Mielőtt az indítást követően lefutó függvényt elkezdenéd utasításokkal feltölteni, a float volt = 0.0; valamint az int analogErtek = 0; értékadásokat is helyezd el a kódban, amelyekre később még szükséged lesz. Ezek után a setup belsejében állítsd be a pinMode(zold, OUTPUT); pinMode(zold, OUTPUT); pinMode(zold, OUTPUT); segítségével a kimeneti jelzéseket, illetve - plusz funkcióként - az értékek soros monitorra írásához helyezd el itt a Serial.begin(9600); utasítást is.

Az igazi varázslat, vagyis a folyamatos monitorozás a loop()-függvényben történik. Először az érték beolvasását kell megvalósítanod, szerencsére ehhez elég egyetlen sornyi kód (analogErtek = analogRead(A0);). Ezután ezt a kapott számot konvertálnod kell, hogy a feszültséget lásd viszont. Ezt a volt = (analogErtek*5)/1024; sorral teheted meg, a konverziós képlet az Arduino által trükközés nélkül kezelni képes 5 voltos feszültséget, valamint az analóg bemeneten mérhető értékek számát veszi alapul.

Ezek után három feltételvizsgálat szükséges, amelyek alapján a bekötött lámpáid felvillanását szabályozod. Az intervallumok meghatározásához érdemes tesztelned legalább két elemmel eszközöd működését. Egy friss telep dobozból kibontva adja majd a maximális értéket (valahol 1,48 és 1,55 között), ezt állítsd be a zöld LED felvillanásához. Egy lemerült elemmel a minimumot is meghatározhatod (vélhetően valahol 1,2 és 0,9 között lesz), majd az értéket állítsd be a piros LED-hez feltételnek, a kettő közötti sávban érkező értékekre pedig a narancs lámpát élesítsd.

A legvégén már csupán annyit kell hozzátenned a kódodhoz, hogy egy másodperces késleltetést beiktatsz a rendszeredbe, hogy a lámpának legyen ideje látványosan felvillanni (delay(1000);). Amennyiben szeretnéd számszerűsítve is megjeleníteni a mért adatokat, a késleltetés előtt a Serial.println(voltage); sorral a soros monitorra küldheted a rendelkezésedre álló értéket. Ezek után már csak annyi a teendőd, hogy mindhárom LED-et kikapcsold a digitalWrite(piros, LOW); digitalWrite(sarga, LOW); digitalWrite(zold, LOW); utasításokkal.

Fejlesztési opciók

Rengeteg módon továbbfejlesztheted eszközödet, az egyik ilyen lehetőség, amelyben extra LED-ek bevonásával még részletesebb megjelenítést kínálsz. Ilyen esetben a kódon sem kell jelentősen változtatnod, mindössze a plusz diódákat kell felcímkézni a setupfüggvény előtt, valamint a végső összevetésnél a feszültségeket tartalmazó intervallumokat megfelelően szűkíteni.

Amennyiben teljesen mobil változatot szeretnél építeni, szerezz a DC-porthoz egy külön elemcsatlakozót is (vagy csatolod az USB-csatlakozón keresztül egy powerbankre a mikrovezérlőt), és egészítsd ki egy LCD-megjelenítővel is az összeállítást. Ha kijelzőt is szerelsz az Arduinóra, a LED-es villogást akár el is hagyhatod, hiszen így már tényleges számok kiíratására is lehetősége kapsz, igaz, ha megfelelően választasz megjelenítőt, a háttérvilágítás módosításával a fényvisszajelzés megvalósítása is viszonylag egyszerűen megoldható.

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://www.helloworldonline.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.