IR - Empfänger mit einem AT90S2313
Der Aufbau ist supersimpel, einfach den Tsop1736 an einen Eingang des 2313 anschließen und dann mit ein paar Zeilen Code und der 2313er reagiert auf eine handelsübliche TV-Fernbedienung (ich meine diese Universalfernbedienungen).
Das ganze geht natürlich mit allen Controllern.
Auf dem Bild sieht man den AVR und den TSOP an einem Eingang (Portd.6) zur Kontrolle der emfangenen Daten habe ich zusätzlich noch eine LED (links im Bild) angeschlossen die mir anzeigt wenn der AVR einen Tastendruck der Fernbedienung empfangen hat. Im Vordergrund sieht man eine 10 Led-Zeile mit einem Widerstandsnetzwerk. Da zeige ich die Zustände der 8 Port-Pins (PortB.0 bis PortB.7) an. Wenn man auf der FB die “1” drückt geht die erste Led an, bei erneutem Drücken geht sie auch wieder aus usw.
Das Ganze nochmal von oben gesehen, links an der kleinen Klemme habe ich RxD und TxD der Seriellen Schnittstelle herausgeführt um beim Programmieren die Daten der FB auszulesen. Jetzt taucht wahrscheinlich die Frage auf wo der Quarz ist. Hehe, den hab ich unter den IC-Sockel gesetzt, so ist die Schaltung schön klein gehalten.
Das ist die Universalfernbedienung, die ich dazu verwende. Mit dem Suchlauf habe ich solange gesucht bis ich eine Einstellunge gefunden habe auf die der TSOP angesprochen hat. Alles weitere war jetzt ein Kinderspiel.
Hier hab ich mal den Code für den AVR:
Code:$crystal = 3579545 $baud = 4800 $lib "mcsbyte.lbx" Config Portd = Input Config Pind.6 = Output Config Portb = Output Config Rc5 = Pind.5 Dim A As Integer Enable Interrupts Dim Adress As Byte , Command As Byte Portd.2 = 1 Portd.3 = 1 Portd.4 = 1 Portd.6 = 1 Do Getrc5(adress , Command) Waitms 150 If Adress = 0 Then Command = Command And &B01111111 Print "Adresse: " ; Adress ; " Command: " ; Command Gosub Var1 End If Waitms 50 If Command = 1 Then Toggle Portb.0 Elseif Command = 2 Then Toggle Portb.1 Elseif Command = 3 Then Toggle Portb.2 Elseif Command = 4 Then Toggle Portb.3 Elseif Command = 5 Then Toggle Portb.4 Elseif Command = 6 Then Toggle Portb.5 Elseif Command = 7 Then Toggle Portb.6 Elseif Command = 8 Then Toggle Portb.7 End If Loop Var1: Portd.6 = 0 Waitms 50 Portd.6 = 1 Return
Hier ist der Schaltplan für den IR-Empfänger: (zum Vergrößern anklicken)
Autor Clemens Wagner
Quelle: http://www.cwnet.de
Lesezeichen