erstellt   10.03.2009
Die Infrarot Schnittstelle
Infrarot Licht ist ein für das menschliche Auge unsichtbares Licht, wir kennen es  aus einer handelsüblichen Infrarot Fernsteuerung für Fernseher ,
Satellitenempfänger, Videorecorder usw.
Infrarot- Licht ist vom Menschen nicht zu erkennen und liegt in einer Wellenlänge zwischen 940 und 950 nm ( 0,000 000 940 Meter) .
Bei Fernbedienungen wird das Licht in einer bestimmten Art moduliert um damit verschiedenen Signale zu übertragen und um auch die Signale
vom evtl. auftretenden Fremdlicht zu schützen.
Die Art wie man das Licht codiert, bezeichnet man als Protokoll welches  aber zwischen verschiedenen Firmen nicht identisch ist,
es hat sich aber ein Protokoll mit der Bezeichnung RC5 hervorgehoben, und dieses Protokoll wird von Bascom unterstützt,
so das es relativ einfach ist das von einer Infrarot Fernbedienung empfangene Licht zu decodieren also die eigentlichen Nutzdaten heraus zu filtern.
Es gibt dazu fertige IR-Empfängerdioden die in der Regel drei Anschlüsse besitzen, einmal die Betriebsspannung von meist Plus 5 Volt ,
einmal GND ( Masse) und einmal der Ausgang an dem das eigentliche Empfangene Signal ausgegeben wird.

Typische Bezeichnungen für diese Empfängerdioden sind :
SFH 5110

SFH 5111
Als Anschluss am Atmega Mikrocontroller kann jeder Pin benutzt werden. Im Anschluss eine Beispielschaltung:

Zum Bascom Programm ( Atmega 8)
Blauer Text sind Programmzeilen der Rest dient nur der Beschreibung
$regfile "m8def.dat"    
Definiert den Atmega als Atmega8
$crystal = 3686400      
Gibt die Quarzfrequenz an in Herz
$hwstack = 32           
Default use 32 Hardware reservierte Speicher
$swstack = 10           
Default Software resvierung Speicher
Config Display
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , Rs = Portc.5 , E = Portc.4 Konfiguration fürs Display
Config IR
Enable Interrupts  

Config Rc5 = Pinb.0
Dim Address As Byte
Dim Command As Byte
Dim Flag As Bit
Flag = 1
Programmschleife
Do
Getrc5(address , Command)
If Flag = 1 Then
Lcd "wait auf Comand"
Flag = 0
End If
If Address <> 255 Then
Reset Command.7
Cls
Locate 1 , 1
Lcd "Adres:" ; Address;
Locate 2 , 1
Lcd "command" ; Command
Flag = 1
End If
Portd.7 = 1
rote led an
Waitms 500
Portd.7 = 0
Rote led aus
Waitms 500
Loop





Aktualisiert 11.06.2019
Copyright by Ms 2009