Geräte mit TV-Fernbedienung & Arduino IR steuern – Schritt-für-Schritt
TV-Fernbedienungen senden moduliertes Infrarotlicht (für Auge unsichtbar, per Kamera sichtbar). IR-Empfänger (z. B. VS1838B) verstärken, filtern, demodulieren und liefern saubere Logik-Signale an Arduino. Mit Ken Shirriffs IRremote Library (GitHub: z3t0/Arduino-IRremote) können per Komponenten: IR-Empfänger, RGB-LED, 3× 220 Ω, Arduino, Breadboard. Vier Farbtasten der Fernbedienung → jeweilige Hex-Codes notieren → im Code per Komponenten: DC-Motor/Lüfter, NPN-Transistor, Diode, 1 µF Kondensator, 1 kΩ Widerstand. PWM-Steuerung über Transistor. Tasten: Play (Max), Stop (Aus), Vor/Zurück (Speed ±10 %). Komponenten: 5V Relais-Modul (z. B. HL-52S, 10 A / 250 V AC), Kabel, Stecker, Fassung. ⚠ Hochspannung – Lebensgefahr! Nur für erfahrene Bastler.Funktionsweise



IRrecvDemo Beispiel hex-Codes für jede Taste ausgelesen werden.
Beispiel 1: RGB-LED per Fernbedienung steuern
if abfragen.
/* RGB LED mit TV-Fernbedienung steuern
* Basiert auf IRrecvDemo (Ken Shirriff IRremote Library)
* Modified by Dejan Nedelkovski, www.HowToMechatronics.com
*/
#include <IRremote.h>
int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results results;
int redPin = 5, greenPin = 6, bluePin = 7;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
if (results.value == 0xF21D7D46) setColor(255, 0, 0); // Rot
if (results.value == 0x87CF1B29) setColor(0, 255, 0); // Grün
if (results.value == 0x6623D37C) setColor(255, 255, 0); // Gelb
if (results.value == 0x854115F2) setColor(0, 0, 255); // Blau
if (results.value == 0x1639AB6E) setColor(0, 0, 0); // Stop/Aus
irrecv.resume();
delay(100);
}
}
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
Beispiel 2: DC-Lüftergeschwindigkeit per Fernbedienung

/* DC Lüftergeschwindigkeit per IR steuern */
#include <IRremote.h>
int RECV_PIN = 8;
int pwmPin = 7;
int pwmValue = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(pwmPin, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
analogWrite(pwmPin, pwmValue);
if (results.value == 0xAFAF8374) pwmValue = 255; // Play
if (results.value == 0x98519C65) pwmValue = 0; // Stop
if (results.value == 0x93F1BA08 && pwmValue <= 245) pwmValue += 10; // Vor
if (results.value == 0x71D086FF && pwmValue >= 20) pwmValue -= 10; // Zurück
Serial.print(pwmValue); Serial.print(" "); Serial.println(results.value, HEX);
irrecv.resume();
delay(100);
}
}Beispiel 3: Hochvolt-Geräte per Fernbedienung schalten


/* Hochvolt-Geräte per IR steuern */
#include <IRremote.h>
int RECV_PIN = 8;
int relayOut = 7;
int buttonState;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(relayOut, OUTPUT);
buttonState = HIGH; // Relais aus (invertiert)
}
void loop() {
buttonState = digitalRead(relayOut);
if (irrecv.decode(&results)) {
if (results.value == 0xAFAF8374) digitalWrite(relayOut, LOW); // Play → Ein
if (results.value == 0x98519C65) digitalWrite(relayOut, HIGH); // Stop → Aus
irrecv.resume();
}
Serial.print(" "); Serial.println(results.value, HEX);
delay(100);
}
Herstellungsprozess
- Universelle Android-Fernbedienung mit Arduino, 1Sheeld & IR-Steuerung
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- Selbstbau TV-Fernbedienung: Arduino UNO, batteriebetrieben, 3D-gedrucktes Gehäuse
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
- Billy Bass Fisch mit Audioquelle animieren – Schritt-für-Schritt-Anleitung
- ThimbleKrox: Fingermontierte Maussteuerung mit Arduino Micro & MPU-6050
- DIY Arduino Kakerlaken-Steuerung – Bauen für unter 30 €
- Arduino Uno & Bluetooth: Fernsteuerung eines Autos – Schritt-für-Schritt-Anleitung
- 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test