IR-Tastatur Merlin Ruwido
von Georg A.
Dieser Artikel nimmt am Artikelwettbewerb 2012/2013 teil.
Merlin Ruwido ist eine günstige IR-Tastatur und stellt eine attraktive Eingabemöglichkeit für zahlreiche Projekte dar. Hier wird das Protokoll der IR-Tastatur analysiert und erklärt.
Einleitung
Die Stärken der IR-Tastatur sind:
- Relativ kleine Abmessungen 235x115x26 (mm)
- Leicht 330 gr (280 gr ohne 4xAAA Batterien)
- Ergonomisch
Um die Tastatur an einen Mikrocontroller erfolgreich anzuschließen, muss das Übertragungsprotokoll richtig interpretiert werden.
Protokollanalyse
Das Datensignal liegt am Eingang der Verstärkungsstufe für die zwei IR-Leds an, s. Abbildung 1.
Signalverlauf
Der Signalverlauf sieht beim Drücken der Leertaste wie in Abbildung 2 gezeigt aus.
Beim Datensignal geht es um serielle Daten mit der Reihenfolge MSB -> LSB und Manchester-Kodierung. Das letzte Bit ist das vorletzte invertiert und kann somit bei der Betrachtung vernachlässigt werden.
Das Datensingal wird einem Trägersignal überlagert. Die Trägerfrequenz beträgt 56 kHz, s. Abbildung 3. Dies ist für die Übertragung per IR sinnvoll, erschwert aber die Signalauswertung.
Die letzten 8 Bits des Datensignals stellen die Tastencodes dar. Dafür wird in ca. 418 µs Abständen abgetastet (Bitperiode). Die Polling-Zeitpunkte werden als blaues Signal in Abbildung 4 dargestellt.
Dabei ist zu beachten, dass min. 18 µs lang (Periode der Trägerfrequenz) gepollt werden sollte, um auf jeden Fall ein High-Signal erfassen zu können.
Tastencodes
Bin | Hex | Taste | ASCII Hex |
---|---|---|---|
0000 0100 | 0x04 | A | 0x41 |
0000 0101 | 0x05 | B | 0x42 |
0000 0110 | 0x06 | C | 0x43 |
.... .... | .... | .... | .... |
0001 1101 | 0x1D | Z | 0x5A |
0001 1110 | 0x1E | 1 | 0x31 |
0001 1111 | 0x1F | 2 | 0x32 |
.... .... | .... | .... | .... |
0010 0110 | 0x26 | 9 | 0x39 |
0010 0111 | 0x27 | 0 | 0x30 |
0010 1000 | 0x28 | Enter | --- |
0010 1001 | 0x29 | On/Off | --- |
0010 1010 | 0x2A | Backsp | --- |
0010 1011 | 0x2B | Tab | --- |
0010 1100 | 0x2C | Space | 0x20 |
0010 1110 | 0x2E | = | --- |
Anbindung per Kabel
Wird eine kabelgebundene Übertragung gewünscht, muss das Datensignal abgegriffen werden. Eine Verbindung der IR-Tastatur an ein weiteres Gerät (Empfängergerät) per Kabel hat den Vorteil, dass ggf. keine weitere Stromversorgung für das Empfängergerät benötigt wird. Um den Stromverbrauch zu reduzieren, können in diesem Fall die IR-Leds aus der Platine entfernt werden.
Projekte
Beispielanwendung Kids' Keyboard
Die Tastatur kann an ein LC-Display angeschlossen werden, um die gedrückten Tasten anzuzeigen. Dies kann als primitiver Lerncomputer für Kinder benutzt werden.
Merlin XMega Maus und Tastatur Interface
Hat man einen xmega mit USB Unterstützung und einen 56KHz IR-Sensor, ist mittels XMerlinRuwido, die Merlin Tastatur als Tastatur und Maus zu nutzen. Zwischen Tastatur und Maus schaltet man mit der VT taste hin und her und kann dann mittels Pfeiltasten M-Taste und OK-Taste die Maus Bedienen. Weiter stellt das Projekt ein CDC Interface zur Verfügung welches die gedrückten Tasten auf einen Terminal darstellen kann. Somit lassen sich einfach die IR-Keycodes der Tastatur ermitteln. Wer nur einen AtMega mit 4KB oder mehr Flash hat, bekommt immerhin Keybord Unterstützung. Weitere Informationen gibt es auf der SourceForge-Projektseite oder im Quellcode welcher auf deutsch kommentiert ist.