11-Intelligencia a dróton

Eddig az A-star panellel nagyszerűen tudunk ledeket be-ki kapcsolni, és akár még a fényességüket is megváltoztatni. Nagyon megy már a dőlésérzékelő kezelése is.

Röviden összefoglalva, bárhogyan tudjuk villanyt kapcsolgatni, és érzékelni ahogy a villany átmegy az érzékelőkön.

Most jön az, amikor egyetlen dróton nem csak "villany" van, hanem valami információ. Pont úgy, mint ahogy a 03-as részben megismerted: egy dróton morzézva betűket, szavakat, sőt, akár képeket is át lehet vinni. Vajon tudunk-e ilyet az A-starral? Nyilvánvalóan! Morzét már csináltunk is, ugye?

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

Az 1950-es években hozták forgalomba a világ első távverzérlős tévéjét. Egy elemlámpa formájú kis holmival kellett a tévé négy sarkán elhelyezett érzékelőket eltalálni. A négy érzékelő közül kettővel a csatornák közt lehetett váltani, egy másik érzékelő a tévét be-ki kapcsolta, és a negyedik pedig levette a hangot.

Bármennyire is nagy újdonság volt a távvezérlés, a legnagyobb sikert a némítás funkció okozta: szó szerint úgy reklámozták, hogy a Flash-matic távvezérlővel "le lehet lőni" a reklámokat.

Az első távvezérlő

Manapság a távvezérlőknek 10-20-30 gombjuk van, némelyikben még egy kis érintőképernyő is van, és lenyűgözően működnek anélkül, hogy bárhova célozni kellene velük.

Hogy csinálják?

A régi távvezérlő tényleg csak egy elemlámpa volt. A tévé négy sarkában volt egy-egy fényérzékelő, és ez érzékelte azt, ha épp rávillantott a felhasználó.

A mostani távvezérlők nem egy folyamatos fényt adnak ki, hanem a fénnyel morzéznak. A morzézással számokat tudnak kifejezni, minden gomb megnyomása más-más számkódot jelent. A morzézást feldolgozva tudjuk, hogy melyik gombot nyomták meg.

Valójában lehet, hogy pont nem Morzéznak, mármint nem épp rövidebb és hosszabb fények jelentik az információt. Van olyan rendszer, ahol a felvillanások közti szünet (rövid szünet, hosszú szünet) hordozza az információt, és van pár egyéb variáció is. A lényeg, hogy minden gombnyomás más-más mintát villogtat.

Miért nem látod?

Vegyél elő egy bármilyen távvezérlőt. A végén ott egy led, ami villog - vagy nem? Igaziból nem látod! Azért nem látod, mert a led nem zöld, nem sárga, nem piros, hanem infravörös színű. Az ember szeme a színeknek egy kicsi részét érzékeli, de azért azon túl is vannak színek!

Biztosan találkoztál már közeli ultraibolya fénnyel - ezt bulikban, vagy pénzvizsgálóknál szokták használni. A távoli ultraibolya fényt a szemünk nem látja, de a bőrünk érzi, és leég tőle. Az infravörös meg a másik véglet.

Vedd elő a telefonodat, és kapcsold be a kamerát! Nézd meg a kamerával, hogy a távvezérlő villog-e!

A kamerák sokkal több színt látnak, mint az emberek. Az infravörös fényt is érzékelik, és ebből fehér paca lesz a képernyőn.

Hogyan lehet ezt az A-starral érzékelni?

Az A-starban nincs kamera, de igaziból nem is kell. Egy olyan fényérzékelő kell, ami a látható fényre nem érzékeny, csak az infrára. Ilyen ASIC-ok készen vannak, és a DM-es készletben is van egy.

TSOP34838 infravevő ASIC

Hú, ennek három lába van, mint a kisszéknek! Jajj most mithovakellkötniésmilesz! Nem kell megijedni, ez is pont olyan, mint egy nyomógomb, csak éppen az infra fény "nyomogatja". Szóval, a bal oldali lába az egy sima kimenet, amit rá lehet tenni az A-star bármely portjára mint bemenetre.

A középső lába megy a GND-re. Mivel ez nem csak egy buta gomb, hanem ez egy ASIC, ezért ennek 5V villany is kell. Ezt kapja a jobb oldali lábon.

Egy gombnál mindegy, hogy melyik lábát hova kötöd. De ez egy IC. A lábai nem cserélhetők fel. Fontos, hogy a megfelelő lábakat a megfelelő helyre kösd.
Eddig csak kétlábú alkatrészeket használtunk, amiket menet közben akár bekapcsolt panelnál is lehetett csereberélni. Azokkal az alkatrészekkel, amiknek ettől több lábuk van, óvatosabban kell bánni - ezért kapcsold ki az A-start amíg az áramkört csinálod.

Rakd össze az áramkört!

Infravevő bekötve

Csinálj egy mini programot, hogy megmutassuk a piros leden, ha jött valami infra villanás!

const int LED=13;
const int SENSOR=0;


void setup() {
    pinMode(LED, OUTPUT);
    pinMode(SENSOR, INPUT_PULLUP);
}

void loop() {
    if (digitalRead(SENSOR)==0) { 
      digitalWrite(LED,HIGH);
    }
    else {
      digitalWrite(LED,LOW);
    }
}

Villants rá egy infra távvezérlővel, és máris látszik az infravörös fénnyel átküldött kód.

Mit tanultunk ebből?

Az infra távvezérlés nem más, mint egy led villogtatása. A led színe az anyagán múlik, így lehetséges olyan ledeket is készíteni, amiknek a színét már nem érzékeli a szemünk. Az UV led ultraibolya (az UV tartomány kicsi részét még látjuk), az IR led meg infravörös (ezt már nem látjuk).