Difference between revisions of "U23 2005/Infrarotdecoder"

From C4 Wiki
Jump to: navigation, search
(bisher implementierter Befehlssatz)
(Übersicht über RC5)
 
(6 intermediate revisions by 4 users not shown)
Line 22: Line 22:
  
 
Was genau diese 14-Bits bedeuten ist hier recht gut dokumentiert:
 
Was genau diese 14-Bits bedeuten ist hier recht gut dokumentiert:
[http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm Knowledge-Base]
+
[http://www.sbprojects.com/knowledge/ir/ir.htm Knowledge-Base]
 
 
  
 
== Hardware am Fnordlicht ==  
 
== Hardware am Fnordlicht ==  
Line 55: Line 54:
  
 
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. Dann reagiert die Firmware auch auf Infrarot-Befehle.
+
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 ==  
 
== bisher implementierter Befehlssatz ==  
Line 90: Line 98:
 
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.
 +
 +
Mit der Enter-Taste wird die aktuelle Farbe gehalten.
 +
 +
[[Category:U23 2005]]

Latest revision as of 09:36, 12 January 2008

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.