Forum: Mikrocontroller und Digitale Elektronik Infrarot-Sender bauen/hacken/kaufen


von muzik (Gast)


Lesenswert?

Hallo allerseits,

ich habe gerade für eine Ausstellung ein Projekt in dem ich einen, via 
Arduino gesteuerten, IR-Empfänger habe, der nur checken soll, ob er ein 
IR-Signal "sieht" oder nicht. Also nur JA oder NEIN.

Dabei möchte ich die folgende IR-Library für den Empfänger nutzen:
http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html

Da ich mehrere IR-Sender im Raum verteilen muss und die Zeit verdammt 
knapp ist, brauche ich hier eine effiziente Lösung.

Vielleicht hat ja jemand mal etwas ähnliches gemacht.

Meine Lösungs-Ideen bis jetzt sind:

- billige Fernbedienungen kaufen und als IR-Sender missbrauchen

- mit einem 555-Timer & IR-LED sender selber bauen... billig, aber wegen 
der knappen Zeit und mangelnder Erfahrung evtl. zu aufwändig. Außer 
jemand hat zufällig eine gute Anleitung + Bauteilliste parat

- fertige IR-Sender aus dem E-Markt... leider konnte ich da noch nichts 
finden

Ich hoffe man versteht, was ich meine. Würde mich sehr über euren Rat 
und Empfehlungen freuen.

Vielen Dank schonmal
muzik

von Axel S. (a-za-z0-9)


Lesenswert?

muzik schrieb:
> Hallo allerseits,
>
> ich habe gerade für eine Ausstellung ein Projekt in dem ich einen, via
> Arduino gesteuerten, IR-Empfänger habe, der nur checken soll, ob er ein
> IR-Signal "sieht" oder nicht. Also nur JA oder NEIN.
>
> Dabei möchte ich die folgende IR-Library für den Empfänger nutzen:
> http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html

OK. Allerdings geht es hier um Fernbedien-Codes. Das heißt es wird 
i.d.R. einmalig ein IR-Signal ausgesendet/empfangen, um eine bestimmte 
Funktion auszulösen. Ich bin mir nicht sicher, was du meinst mit "ob er 
ein IR-Signal sieht oder nicht" - aber das klingt für mich ein bisschen 
als ob du einen Sender ein Dauersignal aussenden lassen willst und dann 
für die Dauer des Empfangs den Empfänger etwas tun lassen willst. Wenn 
das so sein sollte, dann eignen sich Fernbedien-Codes eher nicht. Und 
folglich eignet sich auch die obige Library nicht (aber: s.u.)

Falls du hingegen andererseits mit der normalen IR-Fernbedienungslogik 
leben kannst, daß es ein Signal gibt um den Fernseher einzuschalten 
und ein anderes, um ihn wieder auszuschalten, dann eignet sich die 
o.g. Library für Empfänger und Sender. Ich zitiere von obiger Seite:

"This IR remote library lets you both send and receive IR remote codes 
in multiple protocols."

Deine Sender sind also einfach nur weitere Arduinos (an die du natürlich 
noch eine IR-LED + Treiber anflanschen mußt).

Als weitere Variante könnte man den Sender einen bestimmten Code 
zyklisch senden lassen (z.B. einmal jede Sekunde) und den Empfänger so 
programmieren, daß er nach z.B. 3 Sekunden ohne Empfang umschaltet. Oder 
man läßt den Sender für "Ein" immer den einen Code wiederholen und für 
"Aus" einen anderen. Sei halt ein bisschen kreativ.


XL

von Harald W. (wilhelms)


Lesenswert?

muzik schrieb:

> ich habe gerade für eine Ausstellung ein Projekt in dem ich einen, via
> Arduino gesteuerten, IR-Empfänger habe, der nur checken soll, ob er ein
> IR-Signal "sieht" oder nicht. Also nur JA oder NEIN.

Das macht man eigentlich mit Fototransistor und Multimeter. :-)

von Helge A. (besupreme)


Lesenswert?

Du kannst irgendeine Picaxe nehmen und eine IR-LED. Damit und mit paar 
Zeilen BASIC kannst du SIRC Codes senden. Kosten <5 Euro. Zeitaufwand 
halbe Stunde.

Falls du sowas brauchst.

von muzik (Gast)


Lesenswert?

Axel Schwenke schrieb:
> aber das klingt für mich ein bisschen
> als ob du einen Sender ein Dauersignal aussenden lassen willst und dann
> für die Dauer des Empfangs den Empfänger etwas tun lassen willst.

genau das will ich! Es soll so lange eine Aktion ausgelöst werden, wie 
der Receiver ein IR-Dauersignal sieht.
Wenn diese Library da nicht funktioniert stehe ich wieder ganz am Anfang 
:-/ Ich hatte gehofft, dass man das eventuell damit hinbekommen.

*Das brauche ich dringend Tipps bzw. Rat wie man das was ich vor habe 
evtl umsetzen könnte!
Wenn jemand von euch Tipps hat: Ich wäre euch SEHR dankbar!*

Helge A. schrieb:
> Du kannst irgendeine Picaxe nehmen und eine IR-LED. Damit und mit paar
> Zeilen BASIC kannst du SIRC Codes senden. Kosten <5 Euro. Zeitaufwand
> halbe Stunde.

Könntest du das eventuell noch genauer ausführen. Ich kenne nur Arduino 
bis jetzt. Ich weiß folglich nicht welche Picaxe-chips ich brauche und 
was ich genau benötige um sie programmieren zu können. Auch wie man die 
SIRC-Codes sendet weiß ich nicht. Basic hab ich nur mal gesehen, nie 
wirklich selbst programmiert. Insofern bräuchte ich das detaillierter. 
Es klingt auf jedenfalls gut, da diese chips nicht so teuer sind.
Mehrere Arduinos kann ich mir definitiv nicht leisten.

Ich danke euch schonmal sehr für die Antworten!
muzik

von Axel S. (a-za-z0-9)


Lesenswert?

muzik schrieb:
> Axel Schwenke schrieb:
>> aber das klingt für mich ein bisschen
>> als ob du einen Sender ein Dauersignal aussenden lassen willst und dann
>> für die Dauer des Empfangs den Empfänger etwas tun lassen willst.
>
> genau das will ich! Es soll so lange eine Aktion ausgelöst werden, wie
> der Receiver ein IR-Dauersignal sieht.

Dann ist mir schleierhaft, wieso du eine IR-Fernbedienung als Vorbild 
genommen hast. Es müßte selbst dir als Laien aufgefallen sein, daß dein 
Fernseher auch dann anbleibt, wenn du die Einschalt-Taste auf der 
Fernbedienung wieder losläßt. Kenn Mensch sendet ein Dauersignal, wenn 
er nicht muß. Allein schon deswegen, weil das die Batterie ganz schnell 
leer saugt.

Nicht nur die o.g. Software, auch die Hardware (konkret die TSOP-xxx 
IR-Empfänger) können nicht mit Dauerlicht umgehen.

> Wenn diese Library da nicht funktioniert stehe ich wieder ganz am Anfang
> :-/ Ich hatte gehofft, dass man das eventuell damit hinbekommen.

Hast du mein Post auch bis zu Ende gelesen? Wie schnell muß denn dein 
Empfänger auf das Verschwinden des Signals reagieren? Wenn du da ein 
paar Sekunden Zeit hast, dann gehen Fernbedien-Codes doch. Einfach 
einmal pro Sekunde einen Code senden und im Empfänger per Zeitschleife 
erkennen, wenn der Sender aufhört zu senden.


XL

von Helge A. (besupreme)


Lesenswert?

muzik schrieb:
> Ich weiß folglich nicht welche Picaxe-chips ich brauche und
> was ich genau benötige um sie programmieren zu können.

Alle "...M2" Chips sind fähig, einen SIRC Code auf jedem der Ausgänge zu 
senden. Der billigste 8-beiner ist der 08M2. Betriebsspannung 3-5V. 
Programmierbeispiel 
http://www.picaxe.com/BASIC-Commands/Digital-InputOutput/irout/

Zum Programmieren brauchst du einen ordentlichen Seriellanschluß: 
Entweder old style im Rechner oder irgendeinen für USB mit FT232 drin. 
Die ganz billigen Serielladapter mit chinesischen PL2303 Kopien sind 
dafür schlecht. Das Kabel wird so 
http://www.elektronikwerken.info/download.php?file=stecker-02.jpg&imagefile=true 
angeschlossen.

Die Programmiersoftware ist kostenkos bei picaxe.com für linux und win.

Ich mach das auf dem Steckbrett, wenn ich mir im fertigen Teil den 
Programmieranschluß sparen will.

: Bearbeitet durch User
von mike (Gast)


Lesenswert?

muzik schrieb:
> genau das will ich! Es soll so lange eine Aktion ausgelöst werden, wie
> der Receiver ein IR-Dauersignal sieht.

Und wie hast du dir die Stromversorgung deines IR-Senders vorgestellt? 
Im Dauerbetrieb zieht der einiges an Strom, um auf Reichweite zu kommen 
- nichts was man mit einer Knopfzelle löst.

von Conny G. (conny_g)


Lesenswert?

Wenn Du richtige IR Codes sendest kannst Du ja "ein" und "aus" senden 
und Dir das Dauersignal sparen, oder?
Jedenfalls wäre ein Dauersignal eher aufwändiger als Codes senden, weil 
es unkonventionell ist.
Ich denke mal Du dächtest Dir das Dauersignal wäre einfacher, weil man 
keinen Code modulieren muss?

von Harald W. (wilhelms)


Lesenswert?

Conny G. schrieb:

> Jedenfalls wäre ein Dauersignal eher aufwändiger als Codes senden, weil
> es unkonventionell ist.

Bislang hat "muzik" leider nicht geschrieben, wie es mit Fremdlicht
und Reichweite aussehen soll. Grundsätzlich kann man IR-Dioden z.B.
mit einem 555 treiben, wenn man ein moduliertes Signal will.
Auswerten kann man das dann mit einem tone decoder NE567. Mir ist
nach wie vor nicht klar, welche Rolle dabei der Aduino spielen soll.
Gruss
Harald

von muzik (Gast)


Lesenswert?

mike schrieb:
> Und wie hast du dir die Stromversorgung deines IR-Senders vorgestellt?
> Im Dauerbetrieb zieht der einiges an Strom, um auf Reichweite zu kommen

Egal wie. So dass es funktioniert. Reichweite sollte so ca. 2m sein.
Ich habe mir darüber bis jetzt eher weniger Gedanken gemacht, da ich 
noch nicht genau weiß,
wie ich es überhaupt umsetze.

Conny G. schrieb:
> Wenn Du richtige IR Codes sendest kannst Du ja "ein" und "aus" senden
> und Dir das Dauersignal sparen, oder?

Nein kann ich glaube ich nicht. Weil ich möchte dass in Echtzeit erkannt 
wird, ob der Empfänger ein Infrarotsignal "sieht". Also wenn ich den 
Empfänger auf den Sender richte soll dieser das sofort registrieren und 
eine Aktion auslösen.
Eventuell kann ich das durch frequentierte Signale lösen. Also x mal pro 
Sekunde Signale senden, die empfangen werden können.

Mich interessiert eure Meinung zur Umsetzbarkeit sehr und ob ihr Tipps 
für mich habt, wo ich mich umsehen kann und auf was ich evtl achten 
sollte.

@Helge: danke für die Antwort. Ich schaue mir das heute Abend nochmal 
genauer an.

von muzik (Gast)


Lesenswert?

@Harald Wilhelms: Der Arduino ist tatsächlich eher nebensächlich. Der 
IR-Empfänger hängt halt am Arduino und aktiviert mein Arduino-Projekt, 
sobald es auf einen der IR-Sender gerichtet wird.

von Karl H. (kbuchegg)


Lesenswert?

muzik schrieb:
> mike schrieb:
>> Und wie hast du dir die Stromversorgung deines IR-Senders vorgestellt?
>> Im Dauerbetrieb zieht der einiges an Strom, um auf Reichweite zu kommen
>
> Egal wie. So dass es funktioniert. Reichweite sollte so ca. 2m sein.
> Ich habe mir darüber bis jetzt eher weniger Gedanken gemacht, da ich
> noch nicht genau weiß,
> wie ich es überhaupt umsetze.

Der Hauptpunkt ist, dass deine Aufgabenstellung weniger Ähnlichkeit mit 
einer Fernbedienung hat sondern vielmehr im Grunde eine etwas verkappte 
Lichtschranke ist.

Du gehst daher grundsätzlich schon mal mit dem falschen Werkzeug an die 
Sache ran. Nicht alles was mit Licht, bzw. Inforarot zu tun hat, sendet 
Codes und ist eine 'Fernbedienung'.

Du brauchst eine Lichtquelle, zb in Form einer IR-Diode und einen 
Phototransistor. Wird der Phototransistor beleuchtet, dann schaltet er. 
Spannend sind hauptsächlich 2 Fragestellungen:
* wie kriegt man es hin, dass nicht Umgebungslicht den Phototransistor 
zum, Auslösen bringt.
* wie schafft man es, dass der Phototransistor nicht alles und jedes als 
Lichtquelle akzeptiert, sondern nur 'seinen' IR-LED Pointer, der auf ihn 
strahlt uns bis zu welchem Winkel von der direkten Richtung, darf der 
Sender abweichen, damit noch Licht auf den Phototransistor fällt.

Und dann natürlich noch so Kleinigkeiten wie zb der Stromverbrauch des 
Senders. Aber der muss ja nicht dauernd leuchten, der kann ja auch nur 
schnell genug blinken.

: Bearbeitet durch User
von Schlumpf (Gast)


Lesenswert?

IR-LED, Widerstand, Netzteil?
Wer sagt, dass ein IR-Signal moduliert sein muss, wenn der 
Informationsgehalt sowieso quasi NULL ist?

von Harald W. (wilhelms)


Lesenswert?

Karl Heinz schrieb:

> Der Hauptpunkt ist, dass deine Aufgabenstellung weniger Ähnlichkeit mit
> einer Fernbedienung hat sondern vielmehr im Grunde eine etwas verkappte
> Lichtschranke ist.

Vielleicht wäre eine fertige Lichtschranke
sogar die beste Lösung für "muzik".
Gruss
Harald

von Stefan M. (derwisch)


Lesenswert?

Sender : NE555 mit z.B. 5 kHz

Empfänger: Fotodiode ( z.B. BPW34 ) mit NE 567 als frequenzabhängiger 
"Schalter".

Die Schaltung kannst Du mit fast beliebig vielen Frequenzen zig mal 
aufbauen.

Arduino = mit Kanonen auf Spatzen schiessen...

von Conny G. (conny_g)


Lesenswert?

Schlumpf schrieb:
> IR-LED, Widerstand, Netzteil?
> Wer sagt, dass ein IR-Signal moduliert sein muss, wenn der
> Informationsgehalt sowieso quasi NULL ist?

Für mehr Störungssicherheit um nicht auf andere Lichtquellen zu 
reagieren.
Im Prinzip ist es ohne eine Trägerfrequenz völlig unzuverlässig.

von GuidoL (Gast)


Angehängte Dateien:

Lesenswert?

waer es nicht einfacher ein USB Infrared Toy zu nehmen...sieht nach 
guter guenstiger Hardware aus:

http://www.exp-tech.de/Shields/USB-Infrared-Toy-v2.html

ca. 18EUR

Use a remote control with your computer, view infrared signals on a 
logic analyzer, or capture and replay remote control buttons. USB 
Infrared Toy v2 has an improved IR transmitter and several new features.

Features:
NEW: 100mA constant current IR transmitter with improved range
NEW: Infrared frequency measurement
NEW: Pin breakout area
Infrared remote control decoder (RC5)
Infrared signal logic analyzer
Capture and replay infrared signals
USB connection, USB bootloader for easy updates
Supported in WinLIRC
Open source (CC-BY-SA)

von Karl H. (kbuchegg)


Lesenswert?

GuidoL schrieb:
> waer es nicht einfacher ein USB Infrared Toy zu nehmen...

Hast du gelesen, was er bauen will?

Also nicht, wie er isch vorstellt, dass er seine gestellte Aufgabe löst, 
sondern welche Aufgabe er eigentlich hat?

Dann wärst du drauf gekommen, dass er krampfhaft nach dem falschen 
Werkzeug für seine Problemlösung sucht.

> Use a remote control with your computer,

Genau das braucht er nämlich in Wirklichkeit gar nicht. Er hat nur 
gedacht, dass er das brauchen könnte, weil für ihn Inforarot synonym zu 
TV-Fernsteuerung ist, die ja bekanntlich mit IR arbeitet.
Es ist eine Variation zu: Wenn das einzige Werkzeug, das du kennst, ein 
Hammer ist, dann sieht jedes Problem wie ein Nagel aus.

> USB connection, USB bootloader for easy updates
Am Arduino? Ja genau. Wie war das nochmal mit den Kanonen und den 
Spatzen?

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.