Lichten en ventilator bedienen met een TV-afstandsbediening: Simpel DIY IR-project
Onderdelen en benodigdheden
| IR-ontvanger (generiek, bijv. TSOP-serie) | 1 |
| Arduino UNO (of AVR Atmega328p voor permanente gesoldeerde schakeling) | 1 |
| HL-525 Relay Module (of elk relay-bord met 2+ kanalen) | 1 |
Benodigde tools en machines
- Een TV-afstandsbediening
Over dit project
Dit project gaat over het draadloos bedienen van je kamerlampen en/of ventilator, terwijl je op de bank zit. De reden waarom ik voor dit project koos, was omdat de TSOP-ontvanger het best geschikte component is voor kortafstands draadloze communicatie.
Ten eerste is het zeer goedkoop (ruim ₹10 in India). Daarnaast heb je al een zender: de TV-afstandsbediening.
De TV-afstandsbediening stuurt infraroodsignalen uit op 38 kHz frequentie en de TSOP-ontvanger die ik kocht kan signalen tussen 36-40 kHz ontvangen.
De pinout van de ontvanger kan variëren per model:
De TV-afstandsbediening geeft hoge en lage pulsen met hoge frequentie uit, waardoor de IR-led meerdere keren per seconde aan en uit gaat, overeenkomstig die pulsen. Wanneer de led AAN is, gaat de TSOP LAAG, en wanneer de led UIT is, is de TSOP HOOG (wat ook betekent dat hij HOOG is in ruststand).
Hier is de relay-module:
Deze ingangen schakelen de relay IN wanneer ze een LAAG signaal ontvangen (de schakelaar is dan 'dicht').
Ik heb een video geplaatst van de TV-afstandsbediening die de relay aan/uit schakelt. Vanwege het ontbreken van een werkend verlengsnoertje met lampfassung, kon ik helaas geen video posten van de lamp die aan/uit gaat. Maar dat komt er nog. Hier is de verbinding voor het aansturen van de lamp via de relay:
In mijn module zijn ook, van links naar rechts, de 3 pinnen: NC (Normaal Gesloten), COM (Common), NO (Normaal Open). Verbind de fase-draad naar de lamp zoals getoond. Je kunt het hele project solderen en in je schakelaardoos monteren om je buisverlichting, ventilator, lamp etc. te besturen.
LET OP: Aan de linkerkant van de relay-module zitten 3 pinnen: DVcc, Vcc en GND. Ik raad sterk aan om de jumper te verwijderen en de DVcc-pin een afzonderlijke 5V-voeding te geven, omdat hij verbonden is met een optocoupler (die fysieke scheiding biedt tussen hoge wisselspanning en de microcontroller), zodat bij spanningspieken je microcontroller niet beschadigt raakt.
Code
Arduino-code
LET OP: JOUW AFSTANDSBEDIENING TOETSEN ZULLEN ANDERE HEX-CODES GEVEN. DE HEX-CODES IN DIT VOORBEELD DIENEN ALLEEN VOOR UITLEG.
Deze code maakt gebruik van de IRremote bibliotheek. Je moet deze installeren via de 'Bibliotheekbeheer'.
De relays schakelen IN wanneer ze LAAG krijgen. Dus, wanneer een bepaalde HEX-code ontvangen wordt, krijgt de pin verbonden met de 1e relay LAAG en voor een andere HEX-code krijgt hij HOOG, zodat de relay uitschakelt.
#include <IRremote.h>
#include <IRremoteInt.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
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: digitalWrite(3, LOW); break; // Relay 1 AAN
case 0x80BF4BB4: digitalWrite(3, HIGH); break; // Relay 1 UIT
case 0x80BF837C: digitalWrite(4, LOW); break; // Relay 2 AAN
case 0x80BF9966: digitalWrite(4, HIGH); break; // Relay 2 UIT
}
}
Schema's
IR-ontvanger: Van links naar rechts: OUT, GND, VS. OUT verbonden met pin 11. VS met 5V van Arduino, GND met GND van Arduino. LED-kathode op pin 3, die bij LAAG de led aan zal zetten.
Afbeelding ziet er mat uit, maar toont goede kwaliteit bij inzoomen.
Relay-module voeding: Geef de 'DVcc' een aparte 5V-voeding.
Seriële monitor output: Een hex-code wordt getoond op de monitor elke keer dat je een knop op de afstandsbediening indrukt.
Bijgevoegde bestanden: ir.fzz (Fritzing), VID_20160919_161629.mp4, VID_20160919_174751.mp4
Productieproces
- Temperatuur-gecontroleerde Ventilator: DIY Relais Systeem Voor Media Kast Koeling
- Een Multi-sensor Temperatuur- & Lichtmonitoringssysteem Bouwen met Raspberry Pi & DS18B20
- Raspberry Pi-gebaseerde badkamerbezet-sensor met spraak- en SMS-waarschuwingen via Twilio
- SMS-gestuurde Slimme AC-stroomschakelaar met Raspberry Pi & Hologram
- Je Raspberry Pi Besturen met een Herbruikte IR-remote: Afsluiten & Herstarten via LIRC
- ROObockey: Precisie-geassisteerde Remote-gecontroleerde Straathockey-robot
- Uw autodashboard ontcijferd: lampjes, indicatoren en hun betekenis
- Kleursensoren: Hoe Ze Werken & Belangrijkste Toepassingen
- BH1750 Omgevingslichtsensor: Specs, Features en Praktische Toepassingen
- Fotoweerstand (LDR): Functie, Typen en Praktische Toepassingen
- Omgevingslichtsensoren: Functionaliteit, Ontwerp en Belangrijke Toepassingen