Difference between revisions of "U23 2005/Infrarotdecoder"

From C4 Wiki
Jump to: navigation, search
m (Reverted edits by 64.27.5.49 (Talk); changed back to last version by Pylon)
Line 1: Line 1:
cochilatr
 
 
== Einleitung ==  
 
== Einleitung ==  
  
Der gewöhnlich Nerd ist faul. Was liegt da näher als das Fnordlicht gemütlich
+
Der gewöhnlich Nerd ist faul. Was liegt da näher als das Fnordlicht gemütlich
vom Bett aus steuern zu können. Damit war die Idee zum Infrarot-Empfänger am
+
vom Bett aus steuern zu können. Damit war die Idee zum Infrarot-Empfänger am
 
Fnordlicht geboren.
 
Fnordlicht geboren.
 
   
 
   
 
Dazu ist in der Firmware ein RC5-Decoder integriert.  
 
Dazu ist in der Firmware ein RC5-Decoder integriert.  
RC5 ist ein von Phillips entwickeltes weit verbreitetes Infrarot-Datenübertragungs-Protokoll. Es ist besonders geeignet, weil es recht
+
RC5 ist ein von Phillips entwickeltes weit verbreitetes Infrarot-Datenübertragungs-Protokoll. Es ist besonders geeignet, weil es recht
 
gut dokumentiert ist.  
 
gut dokumentiert ist.  
Praktisch alle billigen Multi-Gerät-Fernbedienungen unterstützen dieses Protokoll.  
+
Praktisch alle billigen Multi-Gerät-Fernbedienungen unterstützen dieses Protokoll.  
  
  
== Übersicht über RC5 ==  
+
== Übersicht über RC5 ==  
  
 
Es gibt an vielen Stellen gute Dokumentation zu RC5. Deswegen wirds hier nur ne  
 
Es gibt an vielen Stellen gute Dokumentation zu RC5. Deswegen wirds hier nur ne  
kurze Übersicht mit einigen Stichworten geben.  
+
kurze Übersicht mit einigen Stichworten geben.  
  
 
Ein RC5 Datenpaket besteht aus 14 Bit.  
 
Ein RC5 Datenpaket besteht aus 14 Bit.  
  
 
Diese Bits werden in der sog.
 
Diese Bits werden in der sog.
[http://de.wikipedia.org/wiki/Manchester-Codierung Manchester-Codierung] übertragen.
+
[http://de.wikipedia.org/wiki/Manchester-Codierung Manchester-Codierung] übertragen.
  
 
Was genau diese 14-Bits bedeuten ist hier recht gut dokumentiert:
 
Was genau diese 14-Bits bedeuten ist hier recht gut dokumentiert:
Line 28: Line 27:
 
== Hardware am Fnordlicht ==  
 
== Hardware am Fnordlicht ==  
  
Am Fnordlicht kann man direkt einen TSOP1738 Infrarot-Empfangsbaustein anschließen.
+
Am Fnordlicht kann man direkt einen TSOP1738 Infrarot-Empfangsbaustein anschließen.
Der TSOP-Baustein hat drei Beine. Er kann direkt über den 78l05 der Powerplatine  
+
Der TSOP-Baustein hat drei Beine. Er kann direkt über den 78l05 der Powerplatine  
 
mit 5V Spannung versorgt werden.  
 
mit 5V Spannung versorgt werden.  
 
Die Datenleitung kann direkt an INT0 (PD2) des AtMega8 angeschlossen werden.  
 
Die Datenleitung kann direkt an INT0 (PD2) des AtMega8 angeschlossen werden.  
Es werden keine weiteren Bauteile benötigt.
+
Es werden keine weiteren Bauteile benötigt.
  
 
(Hier kommt noch ein Foto von der Beschaltung hin)  
 
(Hier kommt noch ein Foto von der Beschaltung hin)  
Line 41: Line 40:
 
Im SVN Repository gibt es ein Subdir "/ir". Da liegt der RC5-Decoder Code.  
 
Im SVN Repository gibt es ein Subdir "/ir". Da liegt der RC5-Decoder Code.  
  
Die eigentlich Arbeit übernimmt der Code in der Datei "ir_decoder.inc".  
+
Die eigentlich Arbeit übernimmt der Code in der Datei "ir_decoder.inc".  
 
ir_test ist im selben Unterverzeichnis ein Programm, das mit
 
ir_test ist im selben Unterverzeichnis ein Programm, das mit
  
 
   make irtest install_irtest
 
   make irtest install_irtest
  
auf das Fnordlicht übertragen werden kann.  
+
auf das Fnordlicht übertragen werden kann.  
ir_test überträgt empfangene RC5-Signale per RS232 an den Rechner, und kann so  
+
ir_test überträgt empfangene RC5-Signale per RS232 an den Rechner, und kann so  
 
mit screen (irgendwo anders im Wiki dokumentiert) angesehen werden.  
 
mit screen (irgendwo anders im Wiki dokumentiert) angesehen werden.  
  
So kann man beispielsweise sicherstellen, dass die verwendete Fernbedienung auch wirklich gültige RC5-Signale aussendet.  
+
So kann man beispielsweise sicherstellen, dass die verwendete Fernbedienung auch wirklich gültige RC5-Signale aussendet.  
  
  
 
== Decoder in der Firmware aktivieren ==  
 
== Decoder in der Firmware aktivieren ==  
  
Standardmäßig ist in der Firmware der RC5-Decoder deaktiviert.  
+
Standardmäßig ist in der Firmware der RC5-Decoder deaktiviert.  
 
IR_DECODER kann aktiviert werden.  
 
IR_DECODER kann aktiviert werden.  
 
Dann reagiert die Firmware auch auf Infrarot-Befehle.
 
Dann reagiert die Firmware auch auf Infrarot-Befehle.
  
Ich bin gerade dabei das aktivieren anständig zu lösen.  
+
Ich bin gerade dabei das aktivieren anständig zu lösen.  
 
Danach gibts dann die Doku hier.
 
Danach gibts dann die Doku hier.
  
Die Ungeduldigen können einfach in  
+
Die Ungeduldigen können einfach in  
 
   fnordlicht.asm  
 
   fnordlicht.asm  
  
Line 74: Line 73:
 
So sind bei einer RC5-Fernbedienung die Zifferntaste mit den Codes
 
So sind bei einer RC5-Fernbedienung die Zifferntaste mit den Codes
 
0x1, 0x2, ... belegt.  
 
0x1, 0x2, ... belegt.  
Die Firmware reagiert auf diese Codes, genau wie auf Ziffern, die über
+
Die Firmware reagiert auf diese Codes, genau wie auf Ziffern, die über
 
die serielle Schnittstelle gesendet werden.  
 
die serielle Schnittstelle gesendet werden.  
  
Line 86: Line 85:
 
|4
 
|4
 
|-
 
|-
|grün
+
|grün
 
|2
 
|2
 
|5
 
|5
Line 97: Line 96:
 
|}
 
|}
  
Die Power-Taste beendet alle aktiven Skripte. Will heißen, das automatische
+
Die Power-Taste beendet alle aktiven Skripte. Will heißen, das automatische
 
Fading der Firmware wird beendet.  
 
Fading der Firmware wird beendet.  
 
Dann fuscht einem die Firmware in die individuelle Farbwahl nicht rein.
 
Dann fuscht einem die Firmware in die individuelle Farbwahl nicht rein.

Revision as of 17:20, 9 October 2007

Einleitung

Der gewöhnlich Nerd ist faul. Was liegt da näher als das Fnordlicht gemütlich vom Bett aus steuern zu können. Damit war die Idee zum Infrarot-Empfänger am Fnordlicht geboren.

Dazu ist in der Firmware ein RC5-Decoder integriert. RC5 ist ein von Phillips entwickeltes weit verbreitetes Infrarot-Datenübertragungs-Protokoll. Es ist besonders geeignet, weil es recht gut dokumentiert ist. Praktisch alle billigen Multi-Gerät-Fernbedienungen unterstützen dieses Protokoll.


Übersicht über RC5

Es gibt an vielen Stellen gute Dokumentation zu RC5. Deswegen wirds hier nur ne kurze Übersicht mit einigen Stichworten geben.

Ein RC5 Datenpaket besteht aus 14 Bit.

Diese Bits werden in der sog. Manchester-Codierung übertragen.

Was genau diese 14-Bits bedeuten ist hier recht gut dokumentiert: Knowledge-Base


Hardware am Fnordlicht

Am Fnordlicht kann man direkt einen TSOP1738 Infrarot-Empfangsbaustein anschließen. Der TSOP-Baustein hat drei Beine. Er kann direkt über den 78l05 der Powerplatine mit 5V Spannung versorgt werden. Die Datenleitung kann direkt an INT0 (PD2) des AtMega8 angeschlossen werden. Es werden keine weiteren Bauteile benötigt.

(Hier kommt noch ein Foto von der Beschaltung hin)


Decoder Software

Im SVN Repository gibt es ein Subdir "/ir". Da liegt der RC5-Decoder Code.

Die eigentlich Arbeit übernimmt der Code in der Datei "ir_decoder.inc". ir_test ist im selben Unterverzeichnis ein Programm, das mit

 make irtest install_irtest

auf das Fnordlicht übertragen werden kann. ir_test überträgt empfangene RC5-Signale per RS232 an den Rechner, und kann so mit screen (irgendwo anders im Wiki dokumentiert) angesehen werden.

So kann man beispielsweise sicherstellen, dass die verwendete Fernbedienung auch wirklich gültige RC5-Signale aussendet.


Decoder in der Firmware aktivieren

Standardmäßig ist in der Firmware der RC5-Decoder deaktiviert. IR_DECODER kann aktiviert werden. Dann reagiert die Firmware auch auf Infrarot-Befehle.

Ich bin gerade dabei das aktivieren anständig zu lösen. Danach gibts dann die Doku hier.

Die Ungeduldigen können einfach in

 fnordlicht.asm 
 IR_DECODER 1 

setzen.

bisher implementierter Befehlssatz

RC5 definiert einige Standard-Befehle. So sind bei einer RC5-Fernbedienung die Zifferntaste mit den Codes 0x1, 0x2, ... belegt. Die Firmware reagiert auf diese Codes, genau wie auf Ziffern, die über die serielle Schnittstelle gesendet werden.

Aktion mehr weniger
rot 1 4
grün 2 5
blau 3 6

Die Power-Taste beendet alle aktiven Skripte. Will heißen, das automatische Fading der Firmware wird beendet. Dann fuscht einem die Firmware in die individuelle Farbwahl nicht rein.

Mit der Enter-Taste wird die aktuelle Farbe gehalten.