LED-Leuchte mit IR-Fernbedienung       

Elektronik-Labor  Projekte  AVR                  




Da gab es eine LED-Lichterkette mit Batteriefach für eine indirekte Beleuchtung hinter dem Fernseher, und manchmal habe ich mich geärgert: Den Fernseher kann ich mit der Fernbedienung abschalten, aber die Lichterkette nicht. Eine Fernbedienung für die Lichterkette wäre eine feine Sache. Aber da steht auch ein Radio, ebenfalls mit Fernbedienung. Da sind es schon zwei, noch eine weitere Fernbedienung würde stören.

Ideal wäre es, wenn jede beliebige Infrarot-Fernbedienung auch die LED-Lichter ein- und ausschalten könnte. Und das geht! Auf den Sparrow wird ein üblicher IR-Empfänger gelötet. Das Empfangssignal geht an B0, parallel zu S1. Da es ebenfalls aktiv low schaltet passt beides zusammen. Alles wird nun über einen Li-Akku aus einem defekten Smartphone betrieben.

Die Software soll einen langen Tastendruck auf der Infrarot-Fernbedienung auswerten und den LED-Ausgang dann umschalten. Normalerweise wird jede Taste nur kurz gedrückt, darauf reagiert der Sparrow nicht. Man kann aber eine Taste lang drücken, die für den Fernseher oder das Radio gerade keine Funktion hat. Beim Radio verwende ich z.B. eine Taste für den CD-Player, der gerade nicht aktiv ist. Oder der Fernseher ist gerade nicht an, da kann ich ja die Kanal-1-Taste verwenden. Wie lange es genau dauert hängt von der jeweiligen Fernbedienung und ihrem Protokoll ab. Das Programm wartet nämlich einfach nur auf 500 irgendwelche Impulse. Das kommt dann ungefähr auf eine Sekunde. Man drückt einfach so lange, bis die angeschlossene LED an- oder ausgeht. Zusätzlich kann man die LEDs auch mit der Taste S2 schalten. Man kennt das ja, manchmal ist die Fernbedinung gerade unauffindbar. Die Taktrate ist auf 300 kHz herabgesetzt, damit das Gerät auch im Aus-Zustand möglichst wenig Strom braucht. Zusammen mit dem IR-Empfänger kommt man nun auf etwa 1 mA.

Download: Sparrow_IR_LED.zip
Direkt laden: http://tiny.systems/categorie/cheepit/InfrarotLED

'Sparrow_IR_Toggle.bas
'TSOP IR-RX an B0
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4

Led1 Alias Portb.1
Led2 Alias Portb.3
S1 Alias Pinb.0
S2 Alias Pinb.2
Config Portb = &B000011010

Dim T1 As Word
Dim T2 As Word
Dim N As Word

Clkpr = 128 '300 kHz
Clkpr = 5
Clkpr = 5

Led1 = 1

Do
T1 = 0
Do
T1 = T1 + 1
If T1 > 1000 Then N = 0 '>100 ms Pause = Rücksetzen
Waitus 100
If S2 = 0 Then 'Alternative Bedienung mit S2
Toggle Led1
Waitms 50
Do
Loop Until S2 = 1
Waitms 50
End If
Loop Until S1 = 0 'IR-Puls Start
Do
Waitus 100
Loop Until S1 = 1 'IR-Impuld Ende
N = N + 1 'IR-Impulse zählen
If N > 500 Then '500 Impulse = lang gesdrückt
Toggle Led1 'AUS AN AUS AN
N = 0
End If
Loop

 


Elektronik-Labor  Projekte  AVR