
Nem ritka, hogy egy infra LED csak csendben lapul a 37 az 1-ben készlet alján. A KY-005 modul önmagában nem ad visszajelzést: nem világít, nem melegszik, nem ad hangot. Ráadásul nem is látható, ha működik. Ha nem tudod, hogyan teszteld, vagy hogyan küldj vele RC5/RC6 protokollt, könnyen becsaphatod magad. Ebben a cikkben bemutatom az IR LED modul bekötését, a villogtatással való tesztelést és az IRremote könyvtár alkalmazását RC5, RC6 és más távirányító protokollokkal.
Alkalmazási körülmények: az infra LED működése és védelme
A KY-005 háromlábú infra LED modulja egyszerű felépítésű: egy infravörös LED és három kivezetés alkotja: a +5 V láb (jelölve: +), a középső láb a GND, míg az „S” jelölésű szignál bemenet valójában közvetlenül egy IR LED katódjába megy. Igen, csak egyetlen infravörös LED dióda van a modulon – és nem tartalmaz semmiféle áramkorlátozó ellenállást!
Fontos: az Arduino UNO mikrokontrollerének (ATmega328P) egy-egy kimeneti lába maximum 20 mA árammal terhelhető biztonságosan. Az adatlap szerint 40 mA az abszolút maximális érték egyes esetekben, de ekkor már a chip áramgenerátoros módba lép: nem enged több áramot, hanem próbálja védeni magát és az IR LED-et is. Ez ugyan véd a teljes tönkremeneteltől, de hosszú távon nem biztosít stabil működést.

Háttérelemzés: Az IR333A típusú infravörös LED [Gyártó: EverLight] adatlapján szereplő grafikon [Gyártó: EverLight] az előremenő áram (IF) és a feszültség (V) kapcsolatát mutatja be. Ezt érdemes külön is megnézni, mert nagyon jól látható rajta, hogyan hat a feszültség az áramfelvételre. A függőleges tengely logaritmikus skálán mutatja az áramot (mA-ben), a vízszintes pedig a feszültséget (V-ben). A görbe alapján látható, hogy kis feszültségnövekedés is jelentős áramnövekedést okoz. Például 1,2 V-nál kb. 15-18 mA folyik, míg 1.5 V-nál már 100 mA! A megadott tp = 100 µs és tp/T = 0,01 azt jelzi, hogy a mérés rövid idejű impulzusokkal történt, így a LED nem melegedett túl. Ez a grafikon jól szemlélteti a LED biztonságos működési tartományát.
Az infravörös LED diódák tipikusan 1.2–1.4 V feszültségeséssel működnek. Ha például az UNO 5 V-ot ad ki, a LED csak ennek egy részét veszi fel – a többi feszültségből keletkező áramot egy soros ellenállásnak kell elnyelnie.
- 220 Ω ellenállás ajánlott a villogtatós teszthez (kb. 17 mA)
- 10–22 Ω használható impulzusos, rövid idejű meghajtásnál – például IRremote protokoll adásnál
Ha nincs beépített ellenállás, és túl kicsit használsz, vagy túl sokáig hagyod bekapcsolva az IR LED-et, az UNO kivezetését és magát a LED-et is károsíthatod.

A programban alapul vett sematikus kapcsolás: KY-005 infra LED modul Arduino UNO-hoz, D3 kimeneten keresztül 220 Ω ellenállással. A D13 beépített LED villog IR adás közben. Táp: 5 V, GND közvetlen összeköttetéssel.
A teszthez ami szükséges:
- Valamelyik Arduino UNO alaplap
- IR adómodul vagy Infra LED vagy valamelyik szenzorkészlet
- Jumper vagy Dupont kábel
Infra LED villogtatása
Első lépésként célszerű ellenőrizni, hogy az IR LED egyáltalán működik-e. Mivel az emberi szem nem érzékeli az infravörös fényt, a legegyszerűbb megoldás, ha a LED-et villogtatjuk, és a jelenséget egy mobiltelefon kamerájával figyeljük meg. Ha látod: villog – ez a működés jele.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /* Program neve: IR LED és látható LED villogtatás tesztprogram Verzió: 1.0 Dátum: 2025. július 25. Szerző: Cseh Róbert E-mail: avr@tavir.hu Web: https://www.tavir.hu Leírás: Ez a program IR LED és egy hagyományos látható LED villogtatására szolgál. Az IR LED a D3 lábra, míg a látható LED a D13-ra van kötve. A LED-ek 500 ms-onként felváltva be- és kikapcsolnak. Hardverkövetelmények: - Arduino UNO - IR LED → Arduino D3 - Látható LED → Arduino D13 (beépített LED is használható) Csatlakozások: - IR LED anód → Arduino D3 - Látható LED anód → Arduino D13 - Katódok → megfelelő ellenálláson keresztül GND-re Könyvtárak: - Nem igényel külön könyvtárakat. Telepítés: - Csak másold be a kódot az Arduino IDE-be, majd töltsd fel a lapkára. Felhasználási feltételek: Szabadon felhasználható és módosítható oktatási célokra. A szerző nevének megőrzése szükséges. */ const int irLedPin = 3; // IR LED láb const int ledPin = 13; // Látható LED (beépített) void setup() { pinMode(irLedPin, OUTPUT); // IR LED kimenet pinMode(ledPin, OUTPUT); // Látható LED kimenet } void loop() { digitalWrite(irLedPin, HIGH); // IR LED bekapcsol digitalWrite(ledPin, HIGH); // Látható LED bekapcsol delay(500); // Várakozás 500 ms digitalWrite(irLedPin, LOW); // IR LED kikapcsol digitalWrite(ledPin, LOW); // Látható LED kikapcsol delay(500); // Várakozás 500 ms } |
Hogyan ellenőrizhető a LED működése, ha nem látszik?
Az infravörös fényt az emberi szem nem érzékeli, így ha az IR LED világít is, azt nem látod. Viszont a legtöbb digitális fényképező – különösen a mobiltelefonok előlapi vagy hátlapi kamerái – nem szűrik ki teljesen az infravörös tartományt.
- Indítsd el a villogtató kódot.
- Nyisd meg a mobilod kameráját.
- Irányítsd közvetlenül a LED-re szemből!
- Ha minden jól működik, a képernyőn lila vagy fehéres fényvillanásokat fogsz látni a LED felől – ez az infravörös fény!
Fontos: néhány modern mobiltelefon kamerája – főleg a hátlapi szenzor – már szűri az IR-t, de az előlapi szelfikamera általában érzékenyebb, így ha nem látod a villanást, próbáld meg azzal.
IRremote: RC5 / RC6 / RC506 küldés LED visszajelzéssel
A LED 500 ms-onként villog, majd a második kódban 5 mp-enként IR jelet küld ki RC5 vagy RC6 protokollban. A jelek fizikai kimenete a KY-005 modulon jelenik meg. A D13 LED jelez, amikor küldés történik, a soros port pedig pontos visszajelzést ad.
A második példaprogramban az infravörös LED 5 másodpercenként IR jelet küld RC5 vagy RC6 protokollal. A kontroller által előállított jelsorozatot a KY-005 modul alakítja fénnyé. Közben a D13 LED is jelzi a küldést, a soros porton pedig pontos visszajelzést is kapunk erről.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | /* Program neve: KY-005 IR LED modul – távirányító jel küldése Verzió: 1.1 Dátum: 2025. július 25. Szerző: Cseh Róbert E-mail: avr@tavir.hu Web: https://www.tavir.hu Leírás: Ez a program egy IR LED (KY-005 modul) segítségével infravörös jeleket képes küldeni különböző protokollok szerint. Az adást visszajelzi a beépített D13-as LED rövid felvillanása. A protokoll szabadon választható (RC5, RC6, RC506 szimuláció), a kód minden adás után megjelenik a soros monitoron. Hardverkövetelmények: - Arduino UNO - KY-005 IR LED modul vagy bármilyen IR LED - Beépített LED visszajelzés: Arduino D13 - Csatlakozások: - KY-005 SIG → Arduino D3 (alapértelmezett IR LED pin az IRremote könyvtárban) - KY-005 GND → Arduino GND Könyvtárak: - IRremote by Armin Joachimsmeyer (verzió: 4.1.0 vagy újabb) - Telepítés: Arduino IDE → Library Manager → keresés: "IRremote" Felhasználási feltételek: Szabadon felhasználható és módosítható oktatási célokra. A szerző nevének megőrzése szükséges. */ #include <IRremote.h> IRsend irsend; // IR adó objektum int ledPin = 13; // Beépített LED visszajelzés int protocol = 1; // 1: RC5, 2: RC6, 3: RC506 (szimuláció) void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); Serial.println("IR adásra kész."); switch (protocol) { case 1: Serial.println("Aktív protokoll: RC5"); break; case 2: Serial.println("Aktív protokoll: RC6"); break; case 3: Serial.println("Aktív protokoll: RC506 (szimuláció)"); break; } } void loop() { digitalWrite(ledPin, HIGH); // LED világít adás közben switch (protocol) { case 1: irsend.sendRC5(0x1A2B, 12); // RC5: 12 bites adat Serial.println("RC5 adás: 0x1A2B"); break; case 2: irsend.sendRC6(0x1A2B, 20); // RC6: 20 bites adat Serial.println("RC6 adás: 0x1A2B"); break; case 3: irsend.sendRC6(0x0506, 20); // RC506 szimuláció RC6 protokollal Serial.println("RC506 adás (szimulált): 0x0506"); break; } digitalWrite(ledPin, LOW); // LED kikapcsol delay(5000); // Várakozás 5 másodperc } |
Az IRremote könyvtárt használó program olyan jelet küld, amely megfelel a távirányító protokolloknak. Itt például RC5, RC6 vagy egy szimulált RC6 protokollal a 0x0506 kódsorozatot. A küldés a D3 lábon történik (amit az IRsend osztály alapértelmezés szerint használ), és impulzusszerű kimenetet eredményez – ilyenkor a LED rövid, de nagy intenzitású jeleket bocsát ki.
Az adás minden esetben:
- D13-as beépített LED villogásával jár, ami vizuális visszajelzést ad a felhasználónak;
- Soros porton szöveges formában közli a használt protokoll típusát (RC5 / RC6), illetve a küldött hexadecimális kódot (pl. 0x0506).
A ciklus 5 másodpercenként ismétlődik, így az adás folyamatosan újraküldi ugyanazt a kódot, amíg a mikrokontroller működik. Ez különösen hasznos lehet vevőegységek, dekóderek, vagy saját IR-protokoll vizsgálatok során.
Fontos: a küldési protokoll kiválasztása a protocol változóval történik, amit a kód elején lehet módosítani (1 = RC5, 2 = RC6, 3 = RC506). Ezt később akár gombos menüvezérléssel vagy soros parancssorból is dinamikusan kezelhetjük – ennek fejlesztése következő lépés lehet.
A vett jelet egyszerűen egy másik Arduino lapkával is tesztelhetjük: →Infravörös vevőmodul tesztelése Arduino UNO-val – hogyan olvassunk távirányítót digitálisan (KY-022)?
Tipp
Az ESP8266 és ESP32 kimeneti lábaira közvetlenül rákötni a LED-et nem biztonságos! Az IR LED impulzusos, pillanatnyi áramfelvétele is meghaladhatja a 6 mA‑t, ami már túllépi ezeknek a chipeknek a megengedett direkt terhelhetőségét. Használj inkább tranzisztoros meghajtást vagy optikai leválasztást.
Jó hír: létezik kifejezetten az ESP-alapú D1 mini lapokhoz készített IR adó-vevő shield, amely egyszerűen rácsatlakoztatható az ESP8266 vagy ESP32 alaplapra, és már tartalmazza a szükséges meghajtó elektronikát is. Ennek részletes bemutatása külön cikkben olvasható: „ESP IR shield életre keltése egy perc alatt” – elérhető a www.tavir.hu oldalon.
Téged kérdezünk: a KY-005 modul
„Te melyik protokollt használnád először: RC5 vagy RC6 – és mihez küldenéd az első infrás jeled?”
Gyakran ismételt kérdések
Kérdés: Hogyan működik a KY‑005 IR LED modul az Arduino‑val?
Válasz: A KY‑005 modul egy infravörös LED, ami 38 kHz-es pulzált IR fényt bocsát ki. Az Arduino egy vezérlőjelet küld a DATA (S) pinre, amit az IRremote könyvtár használ a különböző szabványos protokollok (pl. NEC, Sony, Samsung) elküldéséhez. Az Arduino 5 V‑on működik, erősáramú meghajtáshoz azonban külső ellenállás vagy tranzisztoros meghajtás ajánlott.
Kérdés: Milyen ellenállást kell használni a KY‑005 modulnál?
Válasz: A KY‑005 LED kb. 1,1 V feszültségen és 20 mA árammal működik. 5 V tápfeszültség esetén érdemes körülbelül 220 Ω soros ellenállást alkalmazni, míg 3,3 V esetén 120 Ω javasolt.
Kérdés: Melyik Arduino lábra csatlakoztassam a KY‑005 S‑pin‑jét?
Válasz: Az ajánlott pin az Arduino Uno digitális 3-as lába, mivel az IRremote könyvtár ezt használja az IrSender.begin(PIN_SEND)-hez. Ez összhangban van a standard bekötési útmutatókkal.
Kérdés: Mi az oka annak, ha nem működik az IR küldés?
Válasz: Sok esetben az IR LED nem bocsát ki elég fényt, ha direkt GPIO‑ról hajtod meg tranzisztor vagy meghajtó nélkül. Több fórumtapasztalat szerint az Arduino kimenetek (~20 mA) nem elegendőek, így gyenge, vagy megszakadó jelsugárzást okozhatnak. Célszerű tranzisztoros vagy MOSFET-alapú meghajtást alkalmazni a megbízható működéshez.
Kérdés: Hogyan tesztelhető a KY‑005 modul a működés megerősítéséhez?
Válasz: Egy egyszerű mobiltelefon-kamerás teszttel ellenőrizhető, hogy az IR LED valóban villog-e 38 kHz frekvenciával: kamera előtt működés közben megjelenik az IR LED fény. Ha nem látszik, nincs megfelelő táp vagy bekötés. A soros monitoron megjelenő IR kódok (például „Protocol=NEC Address=0x102…”) jeleznek dekódolt jelet is .
Források
– KY-005 infravörös adó modul [arduinomodules.info]
– Arduino IR adó és vevő KY-005/KY-022 [mschoeffler.com]
– KY-005 IR adó modul hackelése [arduino.cc forum]
– IRremote hivatalos könyvtár [github.com]
Kapcsolódó cikkek:





