Lösung Meine Lösung ist auf den RC-5 Code beschränkt, den z.B. Philips benutzt. Ein IR-Empfänger ist an einen PIC (Pin 6) angeschlossen, der jeden empfangenen RC-5-Code dekodiert. Auf bestimmte Codes hin schaltet er einen Ausgang (Pin 3 = GPIO4) ein bzw. aus. An einem andern Pin (Pin 5 = GPIO2) wird mittels PWM (500 Hz) ein Signal zum Dimmen ausgegeben. Bei voller Helligkeit wird ein zusätzliches Pin (Pin2 = GPIO5) eingeschaltet. Dadurch lässt sich zusätzlich zu den gedimmten LEDs bei Bedarf eine zusätsliche LED aktivieren. Um Platz zu sparen, verwende ich einen 8-Pin-PIC und benutze dessen interne Taktquelle. Da ich einen PWM-Ausgang benötige, fällt die Wahl auf den PIC12F683. Als IR-Empfänger verwende ich den TSOP1736. Die Schaltung benötigt eine Versorgungsspannung von 4,5 ... 5,5 V. Dabei beträgt die Stromaufnahme ca. 5 mA (PIC12F863 + TSOP1736) zuzüglich des Strombedarfs der nachfolgenden Schaltstufe. Die Schaltung reagiert standardmäßig auf Signale für Philips-TV-Geräte, kann aber auf Signale für Philips-Videorecorder umgeschaltet werden. Die Umschaltung erfolgt durch eine Verbindung der Pins GPIO3 und Vss (Pin 4 und Pin 8). Die folgende Tabelle zeigt die Zuordnung der Tasten zu den erzeugten Ausgangssignalen. GPIO2 gibt ein PWM-Signal mit 500 Hz aus. Nur wenn dessen Tastverhältnis bei 0% liegt, dann führt GPIO4 Low-Pegel. Ansonsten führt GPIO4 High-Pegel. Nur wenn das Tastverhältnis bei 100% liegt, dann führt GPIO5 High-Pegel. Ansonsten führt GPIO5 Low-Pegel. Die Schaltung speichert immer das gerade verwendete PWM-Tastverhältnis. Wird die Betriebsspannung ab- und später wieder angeschaltet, dann wird das zuletzt benutzte Tastverhältnis wieder verwendet. Mit einer Ausnahme: War das letzte Tastverhältnis 0%, dann wird beim Einschalten 100% gewählt. Das garantiert, dass man beim Licht einschalten nie im Dunkeln nach der Fernbedienung suchen muss. Pin 7 führt beim Einschalten zunächst high-Pegel. Damach wird der Pegel bei jedem empfangenen gültigen RC5-Code (0..9, Next, Prev, Vol+, Vol-) geändert. Hier ließe sich also ein Gerät bei jedem Tastendruck ein- und aus-schalten. |
Taste
auf
der
Fernbedienung |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Next/+ |
Prev/- |
Vol
+ |
Vol
- |
GPIO2
Tastverhältnis |
0% |
4% |
6% |
8% |
13% |
19% |
29% |
43% |
66% |
100% |
höhere
Stufe |
niedrigere
Stufe |
höhere
Stufe |
niedrigere Stufe |
GPIO4
Ausgangspegel |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 oder 1 |
1 |
0 oder 1 |
GPIO5 Ausgangspegel | 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 oder 1 |
0 |
0 oder 1 |
0 |