Guten Morgen,
wenn man einen IR-Empfänger aus einem Gerät rauslötet, diesen an einen
uC, Arduino, anschließt, kann man dann über einen Ausgangs-Pin des uC
das Signal an das Gerät senden und diesem vortäuschen, es hätte noch den
Empfänger?
Ja kann man. Wobei der Empfänger bei Inaktivität einfach nur ständig
High oder Low Pegel liefert. Das könnte als auch ein Stück Draht
simulieren.
Oder willst du mit dem Mikrocontroller ein Fernsteuer-Signal simulieren?
Das kann man mit kleinen Mikrocontrollern (also allen Arduino Modellen)
durchaus machen.
Ja, mit dem passenden Wissen. Du kannst den IR-Empfänger auch abkleben,
einen separaten Empfänger an den Arduino bauen und nur mit Deinem
Arduino-Sender "reinleuchten".
Besser wird Dir geholfen, wenn DU etwas detaillierter erklärst, was Du
vorhast.
Baslter schrieb:> wenn man einen IR-Empfänger aus einem Gerät rauslötet, diesen an einen> uC, Arduino, anschließt, kann man dann über einen Ausgangs-Pin des uC> das Signal an das Gerät senden und diesem vortäuschen, es hätte noch den> Empfänger?
Was willst Du denn erreichen? Alles 1:1 an das Gerät weiterleiten? Oder
willst Du mit dem µC die IR-Befehle abfangen und lediglich bestimmte
Frames an das Gerät weiterreichen?
Oder willst Du nur "mithorchen"? Dann würde ich den IR-Empfänger (meist
ein TSOPxxxxx) im Gerät belassen und an den µC einen eigenen
IR-Empfänger anschließen. Dann kannst Du ohne Eingriff in das Gerät die
IR-Frames empfangen und auswerten. Schau Dir dazu mal IRMP an.
Ein paar Infos über den Sinn und Zweck wären hier durchaus hilfreich.
Vielen Dank für eure Antworten.
Ja Frank, ich kanns, Arduino und IR sind auch für Noobs recht schnell
und einfach zu verstehen, nur habe ich was bestimmtes vor und das Gerät,
welches ich verwenden will, ist das einzige, dass ich für das Experiment
nutzen würde, will aber nicht unnötig an der Platine rumbraten.
Sonst kriege ich immer Mecker, weil ich Romane schreiben ;P
Aber klar, ich teile sehr gerne mit euch, was ich vorhabe: Ich will
eines dieser Bluetooth/SD-Karten/USB Mp3-Player Module in meine Anlage
einbauen, da ich fast ausschließlich Musik über Handy höre, ist es schon
echt lästig immer mit dem Aux-Kabel da rumzuhantieren, Bluetooth bietet
sich da nun perfekt an. Gleichzeitig bietet sich mir die Möglichkeit den
einen Aux-Anschluss zu vermehren, also das BT-Modul soll einer der
Kanäle sein, da ich einen kaputten Audio-Receiver bekommen habe und
dieser ein paar echt schöne Relais für genau diesen Zweck hat. Die
Aux-Kanäle lassen sich per Schieberegister ganz einfach umschalten, der
Teil ist fertig, aber das muss fernbedienbar sein und das BT-Dingens hat
auch eine Fernbedienung, also dachte ich mir, ich fange das Signal der
original FB der Anlage mit nem Attiny ab und schicke es anders codiert
an das BT-Modul, die FB sendet auch im Aux-Modus Signale für Play, Pause
etc., und mit der Aux-Taste schalte ich die Modi entsprechend um, auch
mit der Anlage muss ich das machen, wobei da fast alle Signale 1:1
weitergeleitet werden und nur die Aux-Taste schaltet dann die Modi um,
denke der Arduino-Teil ist auch für mich Anfänger ziemlich einfach,
dachte an eine Switch funktion und jedes Mal, wenn die Aux-Taste sendet,
wird der Case ++ gemacht, sorry, die Wortwahl wäre so oder so übel,
geworden, Anfänger halt, daher hab ichs mal gekürzt :)
Glaub die letzten paar Worte könnten zur Verwirrung führen, die
Switch-Funktion dient dazu die original Aux-Modi der Anlage nutzen zu
können, also die ersten zwei Mal drücken wird jeweil das Signal der
Anlage 1:1 an diese weitergegeben, Case 0 und 1, in Case 2 werden die
Play, Pause etc. Signale an das BT-Modul gesendet und dann immer nur ein
Impuls an das Schieberegister.
Baslter schrieb:> Sonst kriege ich immer Mecker, weil ich Romane schreiben ;P
Alles in Maßen.
Sätze, die keine 10 Kommas enthalten und hier und da ein Absatz würden
die Lesbarkeit aber deutlich verbessern.
Zum Thema:
Du willst also einige Knöpfe auf der FB deines Receivers zweckentfremden
und damit deinen BT-Empfänger ansteuern?
Wie verhinderst du, dass auch der Receiver auf die Eingaben reagiert,
die für das BT-Modul bestimmt sind?
> Bluetooth bietet sich da nun perfekt an.
Dachte ich auch mal. Bis mir klar wurde, dass die Tonqualität mies ist,
die Reichweite kaum länger ist als mein 2m Kabel und dass bei mir alles
was Funk verwendet häufig ausfällt.
Aber mach nur. Prinzipiell funktioniert es ja. Was du da vorhast ist
ganz sicher mit einem AVR machbar.
Baslter schrieb:> ich fange das Signal der original FB der Anlage mit nem Attiny ab und> schicke es anders codiert an das BT-Modul,
Wenn ich es recht verstanden habe: Wenn Du die FB auf AUX umstellst, was
passiert dann? Schaltet die FB dann intern selbst andere Codes für die
entsprechenden Tasten oder schaltet Deine Anlage dann einfach auf taub,
bis Du den Aux-Modus wieder abstellst?
Wenn ersteres der Fall ist, wovon ich stark ausgehe, brauchst Du den
Empfänger der Anlage überhaupt nicht anzutasten, sondern kannst einen
weiteren TSOP als IR-Empfänger anbringen.
Wenn Du dann auf dem AVR IRMP installierst, ist das Mapping der
Codes auf andere sehr einfach und schon mehrfach erprobt. IRMP wurde
zwar auch Arduino portiert, jedoch würde ich dazu raten, IRMP besser
direkt ohne Arduino-Laufzeitumgebung auf dem AVR zu verwenden. Um IRMP
und auch IRSND in der Arduino-Laufzeitumgebung einzusetzen, ist
Insider-Wissen nötig, welches Du als Anfänger nicht unbedingt hast. Das
liegt zum Beispiel daran, dass das Arduino-Laufzeitsystem bestimmte
Timer selbst verwendet und diese deshalb für die eigentliche Anwendung
nur noch mit bestimmten Tricks verwendbar sind - falls überhaupt.
Der Code der Hauptschleife könnte dann so aussehen:
Das ist natürlich nur eine Skizze. Die oben angegebenen
großgeschriebenen Konstanten kann man mit IRMP alle empirsch ermitteln
und dann per #define dann entsprechend definieren.
Wenn Du allerdings auf IRMP verzichten willst, weil Du unbedingt Arduino
als Plattform einsetzen möchtest, könnte der Weg zum Ziel ziemlich
steinig werden. Denn oft ist es mit dem simplen Recording von IR-Frames
nicht getan und man muss den Kontext kennen, z.B. wenn die
IR-Fernbedienung bestimmte Repeat-Frames sendet, z.B. für "Volume +".
Oft kann man diese Repeat-Frames nicht 1:1 in das andere Protokoll
übersetzen, sondern muss den Kontext kennen: "Das letzte IR-Kommando vor
dem Repeat-Frame war Volume +, deshalb muss ich jetzt im Zielprotokoll
Volume + senden". Genau dieses nimmt Dir IRMP ab, da es die Codes
inhaltlich auswertet und nicht stupide aufzeichnet.
Typ schrieb:> Du willst also einige Knöpfe auf der FB deines Receivers zweckentfremden> und damit deinen BT-Empfänger ansteuern?>> Wie verhinderst du, dass auch der Receiver auf die Eingaben reagiert,> die für das BT-Modul bestimmt sind?
Unabhängig von diesen Einschränkugen, die noch abgeklärt werden
müssten, wäre es da wirklich das Beste, einen zweiten IR-Empfänger
für die Receiver-Fernbedienung an den Ardinoeingang zu klemmen.
Wenn du auf Nummer Sicher gehen willst, kannst du natürlich mit dem
Arduino, einem Empfänger-IC und einer IR-Diode einen Infrarotrepeater
basteln.
Wenn die IR-Diode auf das Empfänger-IC der Anlage gerichtet ist und du
das optisch isolierst, hast du dir so quasi einen Optokoppler gebastelt
und ersparst dir das Löten an der Platine komplett.
Und auch allerlei andere Effekte, die u.U. stören könnten.
Vom Code wird das, dank passender .h auch nicht komplizierter.
@Frank M. Also ich dachte an die IRremote bibliothek, die Signale "raw"
auslesen und diese dann an die Ausgangspins senden. Bin echt noch sehr
weit am Anfang, sowas ist für mich zur Zeit noch pures Chaos von
Zeichen, fast wie meine Texte ;P Link ist aber gespeichert und ich gucks
mir nochmal genauer an.
Weiterhin ist der Plan nur einen Empfänger am Arduino zu verwenden und
die beiden von der Anlage und dem Modul durch die Ausgangspins zu
ersetzen.
Im Case 0 wird vom Empfängr-Pin gelesen, das Signal der Aux-Taste, und
direkt an den Anlage-Pin weitergeleitet,
im Case 1 passiert dasselbe, weil nur der Anlagen -interne Aux-Modus
umgeschaltet wird,
im Case 2 wird das Schieberegister ein Mal gepulst, das schaltet das
BT-Modul ein und es werden Lautstärke-, Play-, Pause- etc. und
Aux-Tasten gesendet und zu Codes des Moduls geändert, da die Anlage
selbst auf Aux steht, wird der CD-Wechsler oder was anderes dadurch
nicht bedient, erst, wenn man auf den entsprechenden Modus umschaltet.
In Cases 3-5 werden nur die Lautstärke- und die Aux-Taste an die Anlage
weitergeleitet. Im letzten Fall wird das Schieberegister noch zurück
gesetzt.
Ich würde die Koppelung zwischen Arduino und Stereoanlage lieber optisch
machen (mit den bereits vorhandenen IR Empfängern).
Denn wenn du die Masse vom Arduino mit der Masse der Anlage verbindest,
stehen die Chancen sehr hoch, dass du Dir damit eine Brummschleife
einhandelst.
Ja, ihr habt alle recht, denke die "Optokoppler-Idee" ist doch die
beste, ist ja im Grunde dasselbe, nur noch einfacher und sauberer und
wenn ich dann auch feststelle, dass mit die Tonqualität über BT nicht
gefällt, kann ich es einfach alles rausruppen und meine hässlich schöne
Philips FW-C700 bleibt original. Und das geht definitiv mit der IRremote
Library. Hat sich erst irgendwie nach Pfusch angefühlt, da LED vor die
Empänger zu hängen, aber wenn ich mir das nochmal überlege ist es eher
Pfusch an den Originalteilen zu löten, wenn es sich auch vermeiden
lässt. Hab auch ein paar 3 mm IR-Led, ist alles ordentlich machbar. Aber
dennoch gut zu wissen, dass die ursprüngliche Idee funktioniert.
Vielen Dank euch allen, wie immer die richtigen Denkanstöße und Infos :)
Und ein extra Vielen Dank an Stefan M., auch wenn ich im Moment kaum was
davon checke, aber mit Sicherheit würde ich irgendwann nach so einer
Lösung suchen und zich verschiedene Ansätze finden, aber nicht genau
das, was sicher funktioniert.