Difference between revisions of "U23 2005/Infrarotdecoder"
m (Subkategorie) |
|||
Line 1: | Line 1: | ||
+ | cochilatr | ||
== Einleitung == | == Einleitung == | ||
− | Der | + | Der gewöhnlich Nerd ist faul. Was liegt da näher als das Fnordlicht gemütlich |
− | vom Bett aus steuern zu | + | 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- | + | 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- | + | 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 | Es gibt an vielen Stellen gute Dokumentation zu RC5. Deswegen wirds hier nur ne | ||
− | kurze | + | 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] | + | [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 27: | Line 28: | ||
== Hardware am Fnordlicht == | == Hardware am Fnordlicht == | ||
− | Am Fnordlicht kann man direkt einen TSOP1738 Infrarot-Empfangsbaustein | + | Am Fnordlicht kann man direkt einen TSOP1738 Infrarot-Empfangsbaustein anschlieÃen. |
− | Der TSOP-Baustein hat drei Beine. Er kann direkt | + | 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 | + | 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 40: | Line 41: | ||
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 | + | 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 | + | auf das Fnordlicht übertragen werden kann. |
− | ir_test | + | 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 | + | 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. | |
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 | + | 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 | + | Die Ungeduldigen können einfach in |
fnordlicht.asm | fnordlicht.asm | ||
Line 73: | Line 74: | ||
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 | + | Die Firmware reagiert auf diese Codes, genau wie auf Ziffern, die über |
die serielle Schnittstelle gesendet werden. | die serielle Schnittstelle gesendet werden. | ||
Line 85: | Line 86: | ||
|4 | |4 | ||
|- | |- | ||
− | | | + | |grün |
|2 | |2 | ||
|5 | |5 | ||
Line 96: | Line 97: | ||
|} | |} | ||
− | Die Power-Taste beendet alle aktiven Skripte. Will | + | 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 06:16, 9 October 2007
cochilatr
Contents
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.