Licht & Ventilator per TV-Fernbedienung steuern: Einfaches IR-Projekt mit Arduino
Komponenten und Zubehör
| IR-Empfänger (z. B. TSOP4838, 38 kHz) | × | 1 |
| Arduino UNO (oder ATmega328P für permanente Platine) | × | 1 |
| Relais-Modul (z. B. HL-525, 2+ Kanäle) | × | 1 |
Benötigtes Werkzeug
- Eine TV-Fernbedienung (beliebig)
Projektbeschreibung
Steuern Sie Ihre Raumbeleuchtung und/oder Ventilator bequem vom Sofa aus – kabellos per Infrarot. Der Clou: Der IR-Empfänger (TSOP) kostet nur wenige Cent (ca. 10 Rs in Indien) und der Sender ist Ihre vorhandene TV-Fernbedienung.
TV-Fernbedienungen senden IR-Signale mit 38 kHz Trägertakt. Der TSOP4838 empfängt im Bereich 36–40 kHz – ideal passend.
Signalverhalten: Die Fernbedienung moduliert die IR-LED mit High/Low-Pulsen. Der TSOP-Ausgang ist LOW bei erkanntem 38 kHz-Signal und HIGH bei Pause/Leerlauf (invertierte Logik).
Relais-Modul
Die Relais-Eingänge sind Low-Active: Ein LOW-Pegel schaltet das Relais EIN (Kontakt schließt), HIGH schaltet AUS.
Anschluss der Last (Lampe/Lüfter):
- Relais-Kontakte (von links): NC (Normally Closed), COM (Common), NO (Normally Open).
- Phasenleiter (L) der Lampe → unterbrechen → ein Ende an COM, anderes an NO.
- Neutralleiter (N) direkt zur Lampe.
WICHTIG – Optokoppler-Versorgung trennen: Links am Relais-Modul befinden sich drei Pins: DVcc, Vcc, GND. Entfernen Sie den Jumper zwischen DVcc und Vcc und versorgen Sie DVcc separat mit 5 V (z. B. vom Arduino). Der Optokoppler trennt so die Mikrocontroller-Seite galvanisch von der Netzspannungs-Seite – Schutz vor Spannungsspitzen.
Arduino-Code (C/C++)
Nutzt die Bibliothek IRremote (über Bibliotheksverwalter installierbar).
HINWEIS: Die HEX-Codes im Beispiel (0x80BFC13E etc.) sind platzhalterhaft. Sie müssen die Codes Ihrer Fernbedienung mit dem IR_REMOTE_read-Sketch (wie im vorherigen Projekt) auslesen und hier eintragen!
#include <IRremote.h>
#include <IRremoteInt.h>
const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
pinMode(3, OUTPUT); // Relais 1 (z. B. Lampe)
pinMode(4, OUTPUT); // Relais 2 (z. B. Ventilator)
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
translateIR();
irrecv.resume();
}
}
void translateIR() {
switch (results.value) {
case 0x80BFC13E: // Taste 1 → Lampe AN
digitalWrite(3, LOW);
break;
case 0x80BF4BB4: // Taste 2 → Lampe AUS
digitalWrite(3, HIGH);
break;
case 0x80BF837C: // Taste 3 → Ventilator AN
digitalWrite(4, LOW);
break;
case 0x80BF9966: // Taste 4 → Ventilator AUS
digitalWrite(4, HIGH);
break;
}
}
Schaltpläne & Aufbau
IR-Empfänger an Arduino
TSOP (von links): OUT – GND – VS
- OUT → Arduino Pin 11
- VS → Arduino 5 V
- GND → Arduino GND
Relais-Modul an Arduino (mit separater DVcc-Versorgung)
Serieller Monitor: Ausgelesene HEX-Codes
Dateianhänge (Fritzing, Videos): ir.fzz, VID_20160919_161629.mp4, VID_20160919_174751.mp4
Herstellungsprozess
- Farbsensoren: Funktionsweise und Schlüsselanwendungen
- BH1750 Umgebungslichtsensor: Specs, Features und praktische Anwendungen
- Fotowiderstand (LDR): Funktion, Typen und praktische Anwendungen
- Temperaturgesteuerter Lüfter: DIY Relais-System für Medienmöbel-Kühlung
- Multi-Sensor Temperatur- & Licht-Überwachung mit Raspberry Pi & DS18B20
- Raspberry Pi Badezimmer-Belegungssensor mit Sprach- & SMS-Benachrichtigung via Twilio
- SMS-gesteuerter Smart AC Power Switch mit Raspberry Pi & Hologram
- Raspberry Pi mit umfunktionierter IR-Fernbedienung steuern: Herunterfahren & Neustart via LIRC
- ROObockey: Präzisionsunterstützter ferngesteuerter Street-Hockey-Roboter
- Armaturenbrett-Symbole verstehen: Warnleuchten, Farben & Bedeutung