TV Gone Mad - Infrarotfernbedienungen spielen verrückt

Infrarot-Sender und Empfänger auf Arduino-Shield Platine
Seit einigen Jahren gibt es ja die sehr beliebte und bekannte TV-B-Gone Schaltung, welche eine grosse Anzahl von Fernsehgeräten abschalten kann. Diese Schaltung kann sehr klein und portabel aufgebaut werden und sorgt in vielen Fällen im Handumdrehen für wohltuende Ruhe.

Einen etwas anderen Ansatz verfolgt diese Schaltung hier, welche ich TVGoneMad bezeichnet habe. Sie sorgt dafür, dass fast jedes per Infrarot Fernbedienung gesteuerte Gerät plötzlich ein verrücktes Eigenleben zu führen beginnt.

Stellen Sie sich einen gemütlichen Filmabend vor, die DVD ist eingelgt, das Licht gedimmt, Chips stehen bereit und man hat es sich auf der Couch gemütlich gemacht. Der Film hat kaum begonnen, schon schaltet sich der Fernseher ab oder wechselt plötzlich den Kanal. Schnell zur Fernbedienung gegriffen und den Film wieder herbeigezappt. Es dauer nicht lange, dann geht plötzlich der DVD Player aus. Es wird langsam nervig. DVD Player also wieder angestellt, plötzlich wird der Fernseher nun leiser. Es ist wie verhext, irgendwer scheint heimlich auf den Fernbedienungen herumzudrücken....

Das Prinzip des Programms ist nicht allzu kompliziert. Ein integrierter IR-Sensor vom Typ TSOP31238 empfängt alle Signale, welche von handelsüblichen Fernbedienungen abgestrahlt werden. Dieser Sensor ist an einen Atmel Mega328 Controller angeschlossen, welcher nun eine gewisse Anzahl dieser Codes abspeichert und in unregelmässigen Abständen zufällig wieder abspielt. Die Codes der Fernbedienung werden dabei als Rohdaten (Impulslängen und Pausen) abgespeichert, so dass das Programm praktisch mit jeder Fernbedienung (ca 38-40 KHz Infrarot) funktioniert. Die Schaltung muss nur so aufgestellt werden, dass sie einerseits die Signale einer Fernbedienung empfangen kann, andererseits die IR-Led's auf den Empfänger des zu verwirrenden Gerätes zeigen. Jeder abgespeicherte Code kann maximal 127 Flankenwechsel aufweisen, welche mit 16 Bit zeitlicher Auflösung gespeichert werden, ein Mega328 mit 2kB SRAM kann so 6 verschiedene Codes im Roh-Format abspeichern,(128*2*6 Bytes), der Rest des Arbeitsspeichers wird für Stack und Empfangspuffer verwendet.

Technisch wird die Aufzeichnung über den Input-Capture Interrupt gelöst, welcher die fallenden und steigenden Flanken des Signals erkennt und über einen 16Bit Timer die Impulslängen ermittelt.

Die Wiedergabe erfolgt dann über ein 38KHz Rechtecksignal, welches mit Timer0 erzeugt wird, ein Transistor sorgt für ausreichend hohen Ausgangspegel. Die zuvor gemessenen Impulslängen schalten dabei das Rechteck-Signal ein und aus.


Schaltplan

Aufgebaut habe ich die Schaltung als recht einfach gestaltetes Arduino-Shield, da ich gerade einen entsprechenden Arduino UNO zur Hand hatte. Das Programm (Quellcode auf Anfrage) indes ist als normales C-Programm unter Eclipse entstanden.


Layout

Der Effekt ist auf alle Fälle sehr verwirrend, da man nie sicher sein kann, was die ferngesteuerten Geräte als nächstes machen werden. Und wenn man dann den Fernseher entnervt abgestellt hat, dauert es meist nicht lange, und er wird sich wie von Geisterhand gesteuert wieder einschalten...

Diese Schaltung gibt es auch als Miniatur-Version.

Bauteile für dieses Projekt - Anzeigen:
Aktive Bauelemente

Passive Bauelemente


Weitere Informationen,Grundlagen,Bauanleitung,Schaltplan, Links zum Thema
Anzeigen:

Neueste Artikel
Anzeigen:
Aktuelle Newsbeiträge
Sie sind Besucher Nr. 1212316