Forum: Mikrocontroller und Digitale Elektronik Infrarotfernbedienung


von Mario G. (mrich)


Lesenswert?

Hey,

ich hoffe das ich hier in das Richtige Unterforum schreibe.

Also ich möchte mir gerne einen Microcontroller basteln, den ich als 
Fernbedienung verwenden kann. Er soll den Fernseher, den Receiver aber 
auch den DVD Player steuern können.

Ich würde gerne den Controller in mein Heimnetzwerk integrieren in dem 
ich darauf einen kleinen Webserver laufen lassen will. Auf diesem Server 
sollen die Codefolgen die ausgesendet werden sollen, um z.B einen Sender 
raufzuschalten, gespeichert sein und dann an den Microcontroller senden 
der die dann über die Infrarot LED aussendet. Um die einzelnen Befehle 
ersteinmal auszulesen würde ich mir einen Empfänger basteln, und alle 
Tasten von der Fernbedienung aufzeichen.

Das ansteuern des Webbrowsers soll dann über eine App erfolgen.

Aber meien Frage ist es möglich sowas mit dem ATtiny13 zu realisieren 
oder sollte ich lieber einen Leistungsstärkeren Microprozessor 
verwenden?

Ich denke es wird sehr viel an arbeit sein, das zu realisieren aber ich 
bin da sehr zuevrsichtlich.

Viele Grüße

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Mario G. schrieb:

> Also ich möchte mir gerne einen Microcontroller basteln, den ich als
> Fernbedienung verwenden kann. Er soll den Fernseher, den Receiver aber
> auch den DVD Player steuern können.

Siehe

  http://www.mikrocontroller.net/articles/DIY_Lernf%C3%A4hige_Fernbedienung_mit_IRMP

und

  http://www.mikrocontroller.net/articles/IRMP

> Ich würde gerne den Controller in mein Heimnetzwerk integrieren in dem
> ich darauf einen kleinen Webserver laufen lassen will. Auf diesem Server
> sollen die Codefolgen die ausgesendet werden sollen, um z.B einen Sender
> raufzuschalten, gespeichert sein und dann an den Microcontroller senden
> der die dann über die Infrarot LED aussendet. Um die einzelnen Befehle
> ersteinmal auszulesen würde ich mir einen Empfänger basteln, und alle
> Tasten von der Fernbedienung aufzeichen.

Aufzeichnung als Folge von Nullen und Einsen, ohne das Protokoll konkret 
zu kennen?

Da gibt es folgende Stolpersteine:

 1) Verschiedene Modulationsfrequenzen

 2) Semantische Bits wie z.B. Toggle-Bits, die Du durch reine
    Reproduktion von Aufzeichnungen nicht hinbekommst

 3) Spezielle Repeat-Frames, die erzeugt werden müssen, um ein
    längeres Tastendrücken zu simulieren, z.B. um die Lautstärke um
    mehr als einen Schritt zu erhöhen oder abzusenken.

Ohne Kenntnis des verwendeten Protokolls wirst Du deshalb nicht weit 
kommen.

> Aber meien Frage ist es möglich sowas mit dem ATtiny13 zu realisieren
> oder sollte ich lieber einen Leistungsstärkeren Microprozessor
> verwenden?

ATtiny13 kannst Du vergessen.

> Ich denke es wird sehr viel an arbeit sein, das zu realisieren aber ich
> bin da sehr zuevrsichtlich.

Wenn Du da ganz vorn anfängst, hast Du die nächsten Monate gut zu tun 
;-)

Oder Du nimmst IRMP zum Empfang/Lernen und IRSND zum Senden. Das 
Paket "versteht" bis zu 30 verschiedene Protokolle und deckt damit über 
95% aller im Haushalt befindlichen Fernbedienungen ab.

Gruß,

Frank

von Mario G. (mrich)


Lesenswert?

Danke für deine vielen Hinweise.

ICh glaube das es echt hart wird aber ich muss es auch nicht gleich 
morgen fertig haben.

Aber die beiden Links die du mir gegeben ahst von deinem Projekt sehen 
echt nett aus und ich denke mal das ich mir da einiges rausnehmen kann 
und zu meinen Zwecken umprogrammieren kann oder? Eigentlich ist es ja 
das was du machst das was ich machen will. Du speicherst das Signal und 
sendest es über einen Knopfdruck wieder raus.

Da müsste ich doch nur das speichern verlagern und das aufrufen der 
Befehle auch.

Ist zwar auch noch eine Menge arbeit, aber deins ersparrt enorm viel.

Viele Grüße

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Mario G. schrieb:
> Aber die beiden Links die du mir gegeben ahst von deinem Projekt sehen
> echt nett aus und ich denke mal das ich mir da einiges rausnehmen kann
> und zu meinen Zwecken umprogrammieren kann oder? Eigentlich ist es ja
> das was du machst das was ich machen will. Du speicherst das Signal und
> sendest es über einen Knopfdruck wieder raus.

Ja. Das Signal wird auf wenige Bytes zusammengeschrumpft:

  1. Protokoll (1 Byte)
  2. Adresse (2 Bytes)
  3. Kommando (2 Bytes)

Diese 5 Bytes müsstest Du nach dem "Lernen" abspeichern, z.B. im EEPROM.

> Da müsste ich doch nur das speichern verlagern und das aufrufen der
> Befehle auch.

Fang einfach mit IRMP an und teste das mit diversen Fernbedienungen. 
Wenns klappt, speichere die Daten im EEPROM ab und versuche, sie auf 
Knopfdruck über IRSND wieder rauszusenden.

> Ist zwar auch noch eine Menge arbeit, aber deins ersparrt enorm viel.

:-)

Gruß,

Frank

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Für mich klingt das nach einer Anwendung für einen Embedded Prozessor 
mit Linux und den LIRC Projekt:
http://www.lirc.org
LIRC hat eine grosse Datenbank an IR Fernbedienungen und Protokollen.
Damit ist das Webserver Problem auch erschlagen, da du dann boa oder 
einen anderen kleinen Webserver auf dem Linux Board laufen lassen 
kannst. Die Hauptaufgabe wäre dann, LIRC und den Webserver mittels CGI 
o.ä. zu koppeln, um mittels Webserver IR Kommandos zu senden.
Als Board kann man eigentlich alles nehmen, was Linux und Netzwerk an 
Board hat und eine geeignete Schnittstelle für IR,z.B. USB, parallel 
oder RS232. Raspberry, Gnublin, Palm, uCSimm...

von W.S. (Gast)


Lesenswert?

Mario G. schrieb:
> Also ich möchte mir gerne einen Microcontroller basteln, den ich als
> Fernbedienung verwenden kann. Er soll den Fernseher, den Receiver aber
> auch den DVD Player steuern können.

Ja - und? Das sollte doch herzlich einfach sein. Wozu willst du dann 
noch dieses dazu tun? "..gerne den Controller in mein Heimnetzwerk 
integrieren in dem ich darauf einen kleinen Webserver laufen lassen 
will.."

Ich verstehe den Sinn deiner Idee nicht. Also, wenn du deinen Fernseher, 
Radio, Rasierapparat usw. per Infrarot steuern willst, dann brauchst du 
ein Kästchen mit ner IR-Diode dran, Tasten drauf und einem uC drin - und 
keinen Webserver (auch keinen kleinen).

Was für ein Protokoll die jeweiligen Geräte haben wollen, mußt du selber 
herausfinden und das Kästchen mit allen Zutaten ebenfalls selber 
basteln. Die Protokolle findet man am schnellsten per Oszi oder mit ner 
simplen uC-Anwendung heraus: Am IR-Empfänger lauschen und sobald da ne 
Änderung ist, die Zeiten bis zur nächsten Änderung messen und 
aufzeichnen, bis für ca. 20..30 ms nicht mehr kommt. Dann die 
Aufzeichnung anschauen und Protokollart feststellen. Ist easy, ich hab 
sowas vor Jahren mal mit nem PIC16F871 gemacht.

Alternativ köntest du ne fertige programmierbare IR-Fernsteuerung 
kaufen.

W.S.

von Mario G. (mrich)


Lesenswert?

Hey W.S.

der Sinn dahinter ist, das ich das dann über mein Handy oder Tablet 
steuern kann. Dafür den Webserver und die Netzwerkanbindung. Ich will 
keine 100 verschiedene Fernbedienungen mehr haben sondern nur noch eine. 
Irgendwann kommt dann noch mehr dazu so ist der Plan das man das Licht 
steuern kann oder die Rolläden.

Viele Grüße

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.