Home
Elektronik am PC
Elektronik
Tutorials
Forum
Downloads
Vermischtes
Kontakt
Impressum











Home >  Elektronik am PC  > Infrarot empfangen und Auswerten

Signale von einer IR-Fernbedienung empfangen



Fernbedienungen für Ferneher und ähnliches arbeiten mit Infrarot. Die Signale die sie aussenden, können mit der TSOP-Schaltung über den COM-Port eingelesen werden. Die verschiedenen Hersteller benutzen dabei neben unterschiedlichen Protokollen auch Trägerfrequenzen von 36 bis 40kHz. Da ein Abweichen in kleinen Grenzen von dieser Frequenz lediglich die Reichweite verkleinert, können z.B. auch mit einem TSOP1736 problemlos Signale einer 40kHz-Fernbedienung empfangen werden. Näheres dazu in der Beschreibung zur TSOP-Schaltung.

Mit dem Programm TSOPEIN.BAS lassen sich die Signale sichtbar machen und man kann die zeitliche Abfolge analysieren. Das geht auch unter Windows recht genau, da mit den Timerregistern gearbeitet wird,die unabhängig vom Systemtakt arbeiten. Mit dem aufgezeichneten Signal lässt sich relativ leicht der von der Fernbedienung benutzte Code bestimmen. Ein recht gute Seite zum Aufbau verschiedener IR-Protokolle (leider auf Englisch) ist http://www.xs4all.nl/~sbp/knowledge/ir/ir.htm

Der Benutzer gibt zu Beginn die Dauer der Aufzeichnung an. Diese kann zwischen einer Millisekunde und einer Sekunde liegen. Durch drücken einer Taste der Fernbedienung wird die Aufzeichnung gestartet. Vorrausgesetzt die TSOP-Schaltung funktioniert und ist richtig angeschlossen, ergibt sich dann z.B. so eine Aufzeichnung:





Gedrückt wurde die Taste "1" fürs erste Programm. Man kann sehr schön ablesen, dass zu Beginn ein 8ms langer Impuls gesendet wird, gefolgt von einer 4ms-Lücke. Das ist eindeutig das auf der oben angesprochenen Seite als "X-Sat" bezeichnete Protokoll. Dem Startsignal folgen zwei Gruppen kürzerer Impulse, wieder getrennt durch eine 4ms-Pause. Bei diesem Protokoll sind jeweils die ersten acht dieser Kurzen Impulse das Byte, das den Gerätecode enthält, der Letzte ist sozusagen ein Stoppimpuls. Ein Impuls mit kurzer Pause danach ist eine Null, einer mit langer Pause eine Eins, gelesen wird von links nach rechts. Der Gerätecode ist also 20. Das zweite Byte ist 1, was der Code für Taste 1 ist. Auch hier ist der 9. Impuls der Stoppimpuls.
Viele Protokolle arbeiten mit dieser Aufteilung in Geräte- und Funktionscode. So stören sich die Fernbedienungen z.B. von Ferseher und Videorecorder des gleichen Herstellers nicht, auch wenn sie ihre Daten nach dem gleichen Verfahren übertragen. Hier noch zwei weitere Beispiele, bei beiden beiden wurde jeweils die Taste "1" gedrückt:

RC-5-Code




Sharp-Code



Kennt man erst mal den Aufbau des Signals, lässt sich - am besten auch unter Benutzung der Timerregister wie im Beispielprogramm - eine Auswertung programmieren und so können verschieden Funktionen bequem per Fernbedienung gesteuert werden. Umgekehrt ist auch ein Senden solcher Signale möglich. Dazu mehr im entsprechenden Abschnitt.