Infravörös távvezérlés

|

Egy infravevővel egyszerűen távvezérelhetővé alakítható a mikrokontroller. Cikkünkben részletesen bemutatjuk a távirányító készítésének lépéseit.

Miután a példakódokat tartalmazó menüpont megvan, meg kell nyitni a IRrecvDemo nevű mintaállományt, és alaposan átvizsgálni a kódot. Ez a frissen beemelt alkalmazás remek alapot kínál az infrajel fogadásához. Igaz, a példaprogram megértéséhez nem árt némi kódolási ismeret, ezért segítségképpen röviden bemutatjuk, mit is tesznek az egyes metódusok. A kód első lépésként beemeli az IRremote könyvtárunk szükséges funkcióit, ezekben .h kiterjesztésű - úgynevezett header fájlokban - pedig megtalálhatjuk a nagy márkákra jellemző infraszignálok dekódolási algoritmusait. Ezután következik a 11-es porton csatlakozó infravevő felcímkézése, hogy a későbbiekben könnyebben hivatkozhassunk rá, és egy esetleges portváltáskor elegendő legyen itt átírni egyetlen értéket. Folytatásként a kód meghívja a fogadófunkciókat a következő sorában, és a külső .h állományból átvett függvény segítségével az értelmezhető formátumú dekódoláshoz szükséges változót is bevezeti.

Az indítást követően első alkalommal lefutó setup() funkció belsejében a Serial.begin(9600)-as kódsor segítségével megnyitjuk soros monitorunkat, hogy a későbbiekben megjeleníthessük a beérkezett adatokat, majd aktiváljuk az infravörös érzékelőt az irrecv.enableIRIn(); utasítással. A két Serial.println() sor valójában csak a kód szépségéért felel; futás közben is nyomon követhetjük az egyes metódusok aktiválását, a második üzenet ugyanis csak abban az esetben jelenik meg, ha sikeres volt az IR-vevő élesítése. A startfüggvény futtatása után át kell lépnünk a loop()-ba, ahol egy folyamatosan ismétlődő kóddal olvashatjuk be az adatokat, az aktivált szenzor segítségével. A kódrészlet a soros monitorra továbbítja a beérkező jeleket és a a beolvasott adatot itt azonnal meg is jelenik, a felbukkanó számokat pedig a későbbiekben akár hasznosítani is tudjuk, például a LED-ek kapcsolgatására.

Kódunk értelmezése és az esetleg szükséges módosítások után jöhet is a tesztfuttatás. Mindenképp figyelni kell arra a program feltöltése előtt, hogy a megfelelő kommunikációs portot érzékelje az Arduino szoftvere, és azt sem szabad elfelejteni ellenőrizni, hogy az infravevő melyik pinen keresztül csatlakozik a mikrovezérlőkhöz; most még könnyen átírhatjuk az értéket, de szükség szerint áthelyezhetjük a kábeleket is. Amennyiben mindent leellenőriztünk, nincs más teendőnk, mint az összeállított Arduinót a számítógéphez csatlakoztatni, majd a [Feltöltés] gombra klikkelni, és a fordítást követően a mikrovezérlő elkezdi regisztrálni a beérkező infrasugarakat. Amikor egy nyaláb eléri a diódát, a soros monitoron azonnal megjelenik az adott sugár számszerűsített értéke. A dokumentált szásorok alapján pedig már viszonylag egyszerűen beazonosíthatjuk távirányítónk egyedi vezérlőutasításait.

Felkapcsolt fények

Sikeresen rögzítettünk néhány fény-parancsot, így itt az ideje, hogy egy kicsit megbonyolítsuk a műveletet; a beérkező adatokkal valódi vezérlést lehet kiépíteni. Elegendő csupán bekötni egy LED-et a mikrokontroller egy tetszőleges portjába, majd a soros monitorról leolvasott értékek alapján aktiválni ezt a fényforrást, ha a távirányító bekapcsológombjáról impulzus érkezik, majd deaktiválni, amikor ez újra megtörténik. Ehhez mindössze annyival kell kiegészítenünk az aktuális kódsorokat, hogy a beolvasott értéket a loopban folyamatosan összehasonlítjuk a távvezérlőről elsőként kiolvasható adattal, majd a csatlakoztatott LED-et áram alá helyezzük az egyenlőség megvalósulásakor. A kezdeti fázisban fell kell címkézni a csatlakoztatott LED-portját (az ehhez szükséges kód az int led1=5, amennyiben az 5-ös porton van a lámpánk), valamint a setup() részben is engedélyezni a port aktiválását a pinMode(led1, OUTPUT); parancs begépelésével. Ezt követően természetesen extra hardveres komponensekkel tovább bonyolítható a programunk.

 

Oldalak: 1 2

Ú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.