X4-Life RGB ledszalag távoli vezérlése

X4-Life RGB ledszalagot szerettem volna távolról irányítani, ezért első körben a távirányítóját akartam módosítani. Az volt az alap ötlet, hogy a távirányító áramkörére ahol a gomb benyomásával rövidre zárjuk az áramkört, oda kis tüskéket forrasztottam, amit majd tranzisztorral akartam kapcsolgatni. Szerencsére hamar meggondoltam magam, így valami sokkal szofisztikáltabb megoldást választottam. Szerencsére a neten rengeteg cikk található arról, hogyan tudjuk kiolvasni az IR távirányítóból érkező jelet.

Erről a LED szalagról lenne szó

Dekorációs fény, X4-LIFE 701473

Első körben kössük be a TSOP 31238 38kHz-es IR vevőt az alábbi módon. A képen TSOP31236 szerepel, de a bekötése ugyanaz. A különbség a kettő között a vivőfrekvencia, ami az egyiknél 36Khz a másiknál, amit mi használunk 38kHz.

IR vevő

Ezután töltsük fel az Arduino-ra a következő kódot, vagy töltsük le a legfrissebb változatot a github-ról és használjuk azt.

Az ON gomb megnyomása után a soros porton a következő adathalmazt kapjuk majd, ez lényegében egy négyszögjel magas és alacsony állapotát jelenti (Received: OFF ON). A jobb oldalon ugyanaz tömbbe rendezve.

 

Nyers adatok Tömbbe rendezett adatok
Received:
OFF ON
47040 usec, 8760 usec
4360 usec, 540 usec
540 usec, 560 usec
520 usec, 580 usec
520 usec, 540 usec
560 usec, 540 usec
520 usec, 580 usec
520 usec, 560 usec
540 usec, 560 usec
520 usec, 580 usec
1620 usec, 540 usec
1620 usec, 560 usec
1620 usec, 580 usec
1620 usec, 560 usec
1600 usec, 560 usec
1620 usec, 580 usec
1620 usec, 560 usec
1620 usec, 540 usec
1620 usec, 580 usec
520 usec, 560 usec
1620 usec, 580 usec
1620 usec, 540 usec
520 usec, 580 usec
520 usec, 560 usec
540 usec, 540 usec
540 usec, 580 usec
500 usec, 560 usec
1620 usec, 580 usec
520 usec, 560 usec
540 usec, 540 usec
1640 usec, 540 usec
1620 usec, 580 usec
1620 usec, 560 usec
1620 usec, 540 usec
38800 usec, 8780 usec
2160 usec, 540 usec
27884 usec, 8740 usec
2200 usec, 540 usec
int IRsignal[] = {
// ON, OFF (in 10’s of microseconds)
876, 436,
54, 54,
56, 52,
58, 52,
54, 56,
54, 52,
58, 52,
56, 54,
56, 52,
58, 162,
54, 162,
56, 162,
58, 162,
56, 160,
56, 162,
58, 162,
56, 162,
54, 162,
58, 52,
56, 162,
58, 162,
54, 52,
58, 52,
56, 54,
54, 54,
58, 50,
56, 162,
58, 52,
56, 54,
54, 164,
54, 162,
58, 162,
56, 162,
54, 3880,
878, 216,
54, 2788,
874, 220,
54, 0};

 

Ezután  a kapott IR szignált egy másik kódban felhasználjuk, ez lesz  majd az új távirányítónk. Az Arduino 8-12 pinjei bemenetre vannak állítva, így ha egy külső jellel 5V-ra felhúzzuk, azzal lefuttatunk egy függvényt. Pl. a 12-es bemenetre 5V-os jelet adunk azzal lefuttatjuk a x4on függvényt.

A 13-as pin kimenetre van állítva, a x4on függvényben tárolt jelalak itt fog “távozni”.  Ehhez a pinhez egy infra LED-et kapcsolunk ami az elektromos szignált elektromágneses sugárzássá alakítja, ami a levegőben terjedve végül eléri az IR detektorunkat, ahol elektromos jellé alakul ismét, majd a megfelelő áramkör értelmezi a jelet, végül a LED szalag bekapcsol.

A LED bekötés egyszerű, a 13-as pinre rákötjük a LED pozitív lábát, a negatív láb meg megy a földre egy 220Ω-os ellenálláson keresztül.

IR LED

A feladat könnyebbik részével meg is volnánk. Teszteljük az áramkörünket, 1kΩ ellenálláson keresztül a 12-es pint 5V-ra kötjük, ha mindent jól csináltunk, akkor a LED szalag világít. Most kössük a 11-es pinre, a LED szalag kialszik.

 

A távoli vezérlés

Ezt javascipt-el fogjuk megoldani, méghozzá nem is akármilyen módon. 2017. január elsején fog debütálni a jDesktop.com. Ez egy olyan vizuális javascipt szerkesztő alkalmazás amivel könnyedén építhetünk webes alkalmazásokat, távoli vezérlést valósíthatunk meg, vagy szenzorokból származó jeleket valós időben grafikonon jeleníthetünk meg. Az alkalmazás raspberry pi-re optimalizált, így a telepítési útmutatót használva néhány perc alatt megvan. Ez a rész természetesen egy minimális LINUX ismeretet megkövetel. Az ajánlott operációs  rendszer a raspberry-re innen letölthető:

Raspbian

Tehát 2017. január elsejétől a következő linken megtalálod a telepítési útmutatót:

http://jdesktop.com/documentation/installation/

A fejlesztő környezet még erősen béta, de a fő funkciók kifogástalanul működnek. Természetesen az egész rendszer folyamatos fejlesztés alatt áll, így bármilyen építő jellegű kritika szívesen fogadott.

A példa alkalmazást (jLED) innen tudod letölteni:

jLED

Ezt kicsomagolás után a /var/www/html könyvtárba kell másolni, ezután a fejlesztő környezetben meg tudod majd nyitni.

A raspberry és az Arduino közötti összeköttetés 

Közös földre kötjük őket.

Raspberry pi Model B+ Arduino UNO
7 (GPIO4) 12
29 (GPIO5) 11
31 (GPIO6) 10
26 (GPIO7) 9
27 (GPIO8) 8

 

A kezelőfelület

kezelofelulet

A raspberry lokális IP címét használva elérhető bármelyik böngészőből: (kivéve IE, ennek használata nem ajánlott) 192.168.0.15/jLED/

Ügyelj a formátumra 192.168.0.15/jLED/ a törtvonal (/) használata a jLED után elengedhetetlen, elhagyva a szerver leállását okozza. Természetesen ez nemsokára orvosolva lesz.

 

Néhány kép a LED világításról

 

Alkatrészek 

• TSOP31238 38kHz IR vevő (Hestore.hu)

• IR led, ellenállás

• Arduino Uno

• Rapberry

• Néhány jumper wire

 

Videó

Felhasznált irodalom

http://www.build-electronic-circuits.com/arduino-remote-control/

Lezione 1 Arduino Progetto Come fare trasmettitore o ricevitore IR

Ajánlott irodalom

Share This:

 
Loading Facebook Comments ...

Leave a Comment