Als erstes musste ich die Infrarot-Signale von meinen Fernbedienungen einlesen, um diese Signale später selber mit einem Mikrocontroller versenden zu können.

Der Artikel IRMP auf mikrocontroller.net hat mir dabei sehr geholfen. Die Software für den Controller habe ich schon komplett selber geschrieben, aber ganz unten in dem Artikel gibt es eine gute Übersicht der Infrarot-Signale von verschiedenen Herstellern.

Nun braucht man noch einen Infrarot-Empfänger. Ein bekanntes Beispiel ist der TSOP1736. Wobei die letzten zwei Zahlen die Trägerfrequenz angeben, also 36 kHz.
Ich habe irgendeinen Empfänger aus einem Fernseher mit unbekannter Trägerfrequenz hergenommen. Bei sehr kurzen Distanzen (5cm) spielt die Frequenz keine Rolle.



Angefangen habe ich mit der 'Lauter'-Taste von der Denon Fernbedienung. Das Signal des Empfängers wird auf einem beliebigen Pin abgefragt. Nach einem Puls (von 310µs) wird in einer Timer-Routine die Länge der Pause gezählt und dementsprechend in einem Array eine 0, eine 1 oder ein s (für Stopp) gesetzt. Somit erfolgt die Auswertung des Signals direkt beim Empfang auf dem Mikrocontroller. Ist das Infrarot-Signal fertig, wird das Array per UART auf den PC geschickt. Und das sieht dann so aus:

010001000111100s010000111000011s010001000111100s

Umgekehrt geht das Versenden dieses Signals genauso. Ich schicke das Signal per UART an den Controller. Dieser schaltet eine Infrarot-LED mit einer Frequenz von 38 kHz an und aus und zwar jeweils für eine Dauer von 310µs. Die Länge der Pausen zwischen so einem Puls bestimmt dann der jeweilige Wert des Arrays.
Das hat bei mir auf den ersten Versuch geklappt. Die Freude war entsprechen groß!!

Allgemein habe ich festgestellt, dass es die Infrarot-Signale nicht so genau nehmen. Also kleinere Abweichungen von Puls- und Pausenlängen werden einfach toleriert.
Schwierigkeiten hatte ich eher noch mit der Trägerfrequenz von 38 kHz. Da es aber genug Timer auf meinem Mega8 gibt, lasse ich die Frequenz nun vom Timer1 im Modus 14 (Fast PWM) generieren.

Da ich ja nur Denon bzw. Samsung Signale versende, reicht es, wenn ich nur 10 Zeichen per UART an den µC schicke. Der Rest des Infrarot-Signals ist unveränderlich und deshalb einfach auf dem Controller fest gespeichert.


hier die aktuelle Software:



Das einzige, das noch nicht funktioniert bzw. nicht beachtet wurde, ist die Tastenwiederholung. Das ist vor allem für die Lautstärke wichtig, damit man einfach die Taste gedrückt halten kann und sie nicht 100-mal einzeln drücken muss.






Belichter

Ätzanlage

Netzteil

-----

ISP Programmer

Test-Boards

-----

7-Segment

DCF77

IR_BT
  - Software
  - Hardware
  - Hardware 2
  - App Inventor
  - Android App

Servo & LMA-Box

LMA2 Quantec

LCD Interface

IR Alarm

Klingel Code