Bastelprojekte: Elektronik

Flintstone: Infrarot-Sender

Bastelprojekte: - Hortlicht - Flintstone -Moodlight - Mood Cluster - Dragonology - Doomsday Machine -
IR Sender

Für Lirc gibt es auch eine Sendefunktion. Damit wird es möglich per Fernbedienung steuerbare Geräte über den Computer zu kontrollieren. Seit vielen Jahren liegen schon die Bauteile eines entsprechenden Senders in einer Schublade herum, doch bisher hatte ich keine Verwendung dafür.

Das einzige Gerät in meinem Zimmer das auf eine Fernbedienung reagiert - abgesehen vom Computer - ist der Verstärker meiner Musikanlage. Hierfür interessant sind nur die Funktionen Lauter/Leiser sowie Power/Standby. Somit könnte ich beispielsweise während ich im Bett liege - von wo aus ich keine Sichtverbindung dorthin habe - via Notebook die Lautstärke regeln wenn die Windowseinstellung nicht ausreicht. Oder wenn ich mich per VNC Fernzugriff von ausserhalb meiner Höhle am Rechner einlogge und nicht möchte daß Sound ertönt so kann ich die Anlage einfach abschalten.

Gehäuse

Der 'Improved Transmitter' besteht aus einem großen Kondensator welcher den Einbau in ein kleines Filmdöschen o.ä. verhindert. Als ich mich nach einer passenden Behausung für den Sender umschaute fiel mein Blick auf ein kleines Kleinkinderspielzeugauto 'The Flintstones'. Die Dimensionen passen genau und es ist optisch sicherlich schöner als ein schmuckloser Kasten aus Plastik oder Hartpappe wie ihn mir der hausinterne Architekt vorschlug.

 
Seitenansicht des Wagens. Man beachte die Füße, welche sich beim Drehen der Hinterachse minimal nach vorne und hinten verschieben. Dieses Gimmick wollte ich erhalten auch wenn es dadurch im Inneren sehr eng wurde.
Andere Seite. Daß der Wagen aussieht als hätte er einen Platten liegt eher an meiner Müdigkeit als ich das Foto aufnahm.
Bodenansicht. Die beiden Fuß-Schienen sind beweglich gelagert und werden von der Hinterachse angeschoben. Die Befestigungsschrauben wurden bereits entfernt. Es waren dreieckige; nachdem ich fast aufgab beim Suchen eines passenden Werkzeuges zum Öffnen stellte ich fest daß die Spitze meiner Dreiecksfeile (Schlüsselfeilenset) genau passt.
 
Der fast fertige Wagen. Die wenigen Bauteile sind in sehr dicht auf einer Lochrasterplatine angeordnet. Die Platine quetscht sich in den verbleibenden freien Platz neben den Kondensator. Die schwarze Platte hält die Fuß-Schienen an ihren Platz. Hier musste ich ein wenig Material sowie eine der beiden Schrauben entfernen um genügend Platz zu haben.
Wären da nicht die drei herausschauenden LEDs, man würde keinen Unterschied bemerken können. Die beiden IR-Leds habe ich seitlich das Wagens platziert, so daß seine Positionierung im Raum freier wählbar ist. Die Kontroll-LED bekam ihren Platz auf dem Dach des Gefährts. Damit sieht das ganze aus wie ein Krankenwagen :)
Leider ist die LED sehr unidirektional, blickt man nicht im abgedunkelten Raum direkt auf die schmale Oberseite so ist sie kaum wahrnehmbar. Eine übliche runde LED wäre wohl die bessere Wahl gewesen.
Die Anschlußleitung - zwei Adern für die Pins GND und DTR - sind mit Stifen herausgeführt um nachträglich ein anderes Kabel einfacher anschließen zu können. Momentan verwende ich zwei verdrehte Leitungen welche einmal eine HDD-Statusleuchte vom Motherboard versorgten. Ihr Ende passt genau auf die verwendete 2er-Stiftleiste.
 
Im aufgeräumten Regal hinter der Couch, in direkter Sichtlinie zu den zu steuernden Geräten mag das kleine Gefährt ein unauffälliges Plätzchen finden, bei dem es seine optischen Qualitäten einsetzen kann. Bei mir jedoch muß es im hintersten Eck zwischen Staubmooren und Kabellabyrinth ausserhalb jedes Sichtfeldes sein Dasein schmoren. Und für die 5cm Abstand zum IR-Empfänger hätte es auch nicht der reichweitenverstärkenden Schaltung bedurft - IR-Diode mit Widerstand direkt an den Computer anschließen reicht ebenfalls.
Software

Ich verwende zum Ansteuern der Hardware Lirc auf Gentoo-Linux, als Programm zum Steuern jedoch Girder auf Windows. Girder hat ein Plugin womit 'WinLirc', die Windows-Variante von Lirc, angesprochen werden kann. Für die normale Kommunikationsrichtung (Fernbedienung -> Empfänger -> Lirc -> Girder) funktioniert dies auch problemlos. Ich stellte jedoch fest daß Sendeversuche fehlschlugen.

Es stellte sich heraus daß das verwendete Protokoll von Lirc und Winlirc sich unterscheiden. Lirc erwartet den Kommandostring <directive> <remote> <code> wie man in der Beschreibung (und Source) von irsend sehen kann. directive ist hierbei 'send_once', remote der Name der Fernbedienung und code der gewünschte zu sendende Tastendruck. In meinem Beispiel wäre das send_once rax1 power. Das Girderplugin jedoch schickt <passwort> <remote> <code> <repeat>. Das stellt noch kein unüberwindliches Problem dar, denn repeat ist von irsend nicht unterstützt, jedoch für lircd eine gültige Angabe - und als das von Lirc nicht unterstützte Passwort läßt sich einfach 'send_once' wählen.

Jetzt wird das Kommando richtig gesendet, leider wird jedoch sofort darauf die Verbindung zwischen Girder und Lirc gekappt. Schuld daran ist - wie ich nach einigem Suchen im Source herausfand - daß Girder ein deutlich größeres Packet verschickt als notwendig, welches mit Nullen aufgefüllt ist. Im Sinne von Befehlen als ASCIIZ, d.h. eines mit einem Null-Byte beendeten Strings, würde dies kein Problem darstellen. Jedoch stört sich Lirc daran daß noch Daten vorhanden sind (Nullbytes eben), jedoch keine ganze Zeile mehr. Um dieses Problem zu beheben muß lircd.c gepatcht werden (für Details fragt mich per Mail). Alternativ könnte der Programmautor den offiziellen CVS-Tree anpassen.

Ein paar der Links die ich als recht nützlich empfand
Girdersehr nützliches Programm zum Verbinden unterschiedlicher Ereignisquellen mit Aktionsmöglichkeiten, primär gedacht zur Computersteuerung mittels Fernbedienung
LIRCLIRC (Linux Infrared Remote Control) dient zum Empfangen der IR-Signale
Strom über RS232Ein paar Informationen zum Betreiben von Schaltungen ohne externe Spannungsversorgung
Stand: März 2005. Fragen, Kommentare, Hinweise an Zefiro.