Forum: Mikrocontroller und Digitale Elektronik IR-2-Tasten Fernbedienung (AVR?)


von Tobias (Gast)


Lesenswert?

Hey ich brauche Hilfe beim bauen einer 2-Tasten-IR-Ferbedienung, leider 
habe ich noch nicht so viel Erfahrung.

Diese Fernbedienung sollte zwei Tasten haben, an und aus, und die 
möglichkeit den ir-code ohne PC zuändern.
(also ich nehme eine Fernbedienung für mein TV und halte sie vor mein IR 
empfänger/sender und drücke sagen wir die linke Taste ca. 5 sec. und 
dann hab ich den code in meiner fernbedienung von der für mein TV.)

also sollte diese Fernbedienung 2-3 tassten haben und ein IR Sender und 
Empfänger.

meine frage ist , wie ich mein projet angehen könnte? hat jemand 
erfahrungen, oder ideen oder ein schaltplan dafür?

ich würde mich sehr über antworten freunen und möchte mich schon mal im 
vorraus bedanken.

von Gast (Gast)


Lesenswert?

Es gibt viele IR-Codes. Lies dich ein.

von Gast (Gast)


Lesenswert?

>meine frage ist , wie ich mein projet angehen könnte?

Erst ein paar simplere Projekte verwirklichen, um zu lernen. Fang mit 
LED-Blinken-Lassen an.

von Tobias (Gast)


Lesenswert?

ok, danke ich werde mich mehr damit beschäftigen, hier wär mal ein 
beispiel was das für ein code sein wird:

0000 006B 0000 0002 015F 00B0 0015 0017 0015 0017 0015 0017 0015 0043 
0015 0043 0015 0017 0015 0017 0015 0017 0015 0043 0015 0017 0015 0016 
0015 0043 0015 0016 0015 0043 0015 0043 0015 0043 0015 0017 0015 0017 
0015 0016 0015 0043 0015 0016 0015 0017 0015 0017 0015 0017 0015 0043 
0015 0043 0015 0043 0015 0017 0015 0043 0015 0043 0015 0043 0015 0043 
0015 05F6 015F 0058 0015 0E63

tobias

von Peter D. (peda)


Lesenswert?

Rate mal, warum gute lernbare FBs im dreistelligen Eurobereich kosten?

Weil sie eben nicht so mal eben einfach nachzubauen sind.

Es gibt so einen Wildwuchs bei Codierungsarten, daß ein echtes Lernen 
maschinell unmöglich ist.
Woher soll eine CPU wissen, welche Paramter des IR-Signals die 
Information beinhalten und wie die codiert sind?
Man kann es quasi mit dem Knacken eines Paßworts vergleichen.

Deshalb arbeiten diese FBs mit riesigen Datenbanken und vergleichen dann 
den gefundenen Code damit. Und falls das fehlschlägt, kann man auch die 
Gerätebezeichnung angeben.

Und das Erstellen dieser Datenbanken ist aufwendig.

An normal Sterbliche gibt keine Gerätefirma ihre IR-Code Spezifikationen 
heraus.
Nur Philips hat mal den RC5-Code richtig spezifiziert, aber der wird 
kaum noch verwendet.


Peter

von Tobias (Gast)


Lesenswert?

dazu möchte ich sagen, das man die psp in eine lernbare fernbedienung 
verwandeln kann und ich bin mit zu 100% sicher, die psp keine datenbank 
von codes hat, sondern das signal von der fernbedienung empfängt.

und so würde ich es auch machen wollen, abre diese funktion muss nicht 
umbedingtdrin sein, das war nur eine idee.

tobi

von Bernhard M. (boregard)


Lesenswert?

Eine derart lernende FB ohne Datenbank muß aber nicht immer 
funktionieren.
Schon RC5 hat ein togglebit, das man ohne Hintergrundwissen nicht 
einfach durch abkopieren richtig "lernen" kann....dan bin ich mir dann 
zu 100% sicher, daß die PSP nicht alle Codes richtig lernen kann.

Im übrigen verwenden nach meiner Erfahrung ziemlich viele auch den NEC 
Code, selbst Philips schon in 15 Jahre alten Compact-Stereoanlagen 
(wahrscheinlich war die eh aus Japan zugekauft....)

Gruß,
Boregard

von Zwirbeljupp (Gast)


Lesenswert?

Wenn wirklich nur zwei Kommandos gebraucht werden, dann ist es doch 
ausreichend, das entsprechende Signal dieser beiden Kommandos zu 
digitalisieren (z.B. den Ausgang eines IR-Empfängers alle x ms zu 
sampeln). Wird dann die entsprechende Taste auf der 
(Selbstbau-)Fernbedienung gedrückt, dann muss der Controller einfach nur 
das digitalisierte Signal wiedergeben.
Dazu muss doch das verwendete Protokoll überhaupt nicht analysiert 
werden!?

von Peter D. (peda)


Lesenswert?

Tobias schrieb:
> dazu möchte ich sagen, das man die psp in eine lernbare fernbedienung
> verwandeln kann und ich bin mit zu 100% sicher, die psp keine datenbank
> von codes hat, sondern das signal von der fernbedienung empfängt.

Hast Du mal ne Angabe, wie groß das FB-Programm für die PSP ist?

Datenbank ist vielleicht übertrieben, ich schätze mal, wenn man das 
geschickt komprimiert, läßt sich der Algorithmus eines FB-Typs in 16 
Byte codieren (Enum für Codierung, Enum für Datenfeld, Enum für 
Sonderfunktionen, 4 Pulszeiten). Und dann noch 2 Byte pro Taste.

Es ist nur ein riesen Haufen Arbeit, erstmal die verschiedenen 
Algorithmen zu analysieren.


Zu Deinem Codebeispiel müßtest Du noch angeben, nach welcher Vorschrift 
daraus die IR-Impulse erzeugt werden.
Sonst ist es nutzlos.
Man kann keine Hex-Zahlen auf ne IR-LED geben.


Peter

von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

also erstmal ist die firma der fernbedienung, deren code ich in meine 
psp kopiert habe NEC, und zweitens bin ich mit sicher, das das 
programm(ir-shell) für die psp keine datenbank(keine funktion, die eine 
datenbank durchsucht) hat, und wenn ich meine psp an pc anschließe, kann 
ich die im anhang angehängte datei(diese ist für ein nec beamer und kann 
man einfach mit einem editor öffnen) ansehen und änderen.

tobi

von Gast (Gast)


Lesenswert?

Ja, Tobias, hast recht. Man braucht weder Datenbank noch Wissen über die 
Codierungsart, um den Code kopieren zu können!
Es ist wie mit einer Sprache. Man kann ja auch ein paar Wörter auf 
japanisch nachplappern, ohne den Inhalt oder die Grammatik zu verstehen.

Du brauchst nur nen Fernbedienungsempfänger, z.b. TSOP1736, vor nen µC 
schalten (wie? - steht im Datenblatt)
eine Beispielschaltung findest du hier:
http://www.sbprojects.com/projects/ircontrol/picir/hardware.htm

mit dem µC taste das Signal ab und speichere die Abstände der Flanken 
(High->Low und Low-> High). Das sieht dann so ähnlich wie in deinem 
Beispiel:
0000 006B 0000 0002 015F 00B0 0015 0017 0015 0017 0015 0017 0015 0043
0015 0043 0015 0017 0015 0017 0015 0017 0015 0043 0015 0017 0015 0016
.
.
.

Um es dann wieder zu senden musst du dann diese Sequenz einfach 
wiedergeben. Aber Vorsicht: Der Empfänger demoduliert das empfangene 
Signal automatisch (siehe hier: 
http://www.sbprojects.com/knowledge/ir/ir.htm )
Beim Senden mus es also wieder mit 36-38kHz moduliert werden.

von Bernhard M. (boregard)


Lesenswert?

Ja, aber selbst dann kannst Du den original Code selbst bei RC5 nicht in 
jedem Fall korrekt wiedergeben, weil Du damit das toggle Bit auch nur 
kopierst, und nicht immer richtig setzt (Repeat bzw. Taste losgelassen 
und sofort wieder gedrückt).....

von Gast (Gast)


Lesenswert?

Ja, stimmt, dann wirds etwas komplizierter.

Wenn man die Taste länger drückt, dann gibt es 2 Möglichkeiten:
1.entweder es wird der selbe Code wiederholt
  Code-Pause-Code-Pause-Code-Pause.....

2.es wird nur 1-mal der Befehls-Code gesendet, danach ein 
"Nochmal-das-selbe"-Code. (das ist was du meinst, oder?)
 Code-Pause-Repeat-Pause-Repeat-Pause......

Tobias kann ja erstmal testen, wie es bei ihm ist. Aber es ist machbar! 
Er müsste dann halt 2 Codes speichern, den normalen (Start) und den 
Repeat-Code.

Das wichtigste ist es, erstmal den Anfang zu machen: Schaltung aufbauen, 
den Code auslesen und in EEPROM speichern, am Besten noch per UART und 
HyperTerminal ausgeben lassen, das reicht ja erstmal, später kann man 
sich dann um solche Feinheiten kümmern und ums Senden des gespeicherten 
Codes

von Gast (Gast)


Lesenswert?

Übrigens: Man kann leicht selber herausfinden, wie die eigene 
Fernbedienung das macht.
Wenn man eine Taste drückt und hält (zum beispiel die "leiser"-taste), 
dann die IR-LED verdeckt, kommt das Signal ertmal nicht mehr an - der 
Fernseher geht vom ende des Tastendrucks aus. Wenn man die LED jetzt 
wieder freimacht, dann gibt es 2 Möglichkeiten:
1. das Signal wird vom Fernseher erkannt, weil es wieder 
"Code-Pause-Code-Pause..." empfängt (-> man hat eine Fernbedienung des 
1. Typs)
2. das Signal löst nichts am Fernseher aus, weil er nur 
"Repeat-Pause-Repeat-Pause" empfängt, ohne dem eigentlichen Befehl

von Herr M. (herrmueller)


Lesenswert?

Gast schrieb:
> > Tobias kann ja erstmal testen, wie es bei ihm ist. Aber es ist machbar!
> Er müsste dann halt 2 Codes speichern, den normalen (Start) und den
> Repeat-Code.
>

Den Repeatcode braucht man nicht. Wenn man 10 * "lauter" sendet, hat das 
die gleiche Wirkung wie 1* "lauter" und 9 * repeat. Ich habe mal 
irgendwo gelesen, dass der Repeatcode nur zur Stromersparnis dient, weil 
er viel kürzer ist und die Led kürzer leuchtet.

von Bernhard M. (boregard)


Lesenswert?

Gast schrieb:
> Ja, stimmt, dann wirds etwas komplizierter.
>
> Wenn man die Taste länger drückt, dann gibt es 2 Möglichkeiten:
> 1.entweder es wird der selbe Code wiederholt
>   Code-Pause-Code-Pause-Code-Pause.....
>

Ja, so ist das bei RC%, alledrings muß man bedenken, daß der Code (also 
das toggle-bit darin) anders ist, wenn man die Taste losläst und 
dieselbe Taste wieder drückt.
D.h. ein Empfänger kann davon ausgehen, daß derselbe code bedeuted 
"Taste ist noch gedrückt", also ignorieren. Und nur wenn der Code mit 
anderem toggle-bit kommt wird die Taste wieder als gedrückt erkannt.
Wenn eine "lernfähige" Fernbedienung nur die Codesequenz wiederholt, 
dann kann es sein, daß die Taste nur erkannt wird, wenn zwischen zwei 
tastendrücken der gleichen Taste eine andere gedrückt wird (das hatte 
ich schon mit einer einfachen lernfähigen FB).

Also Peter hat schon recht, so trivial ist das nicht...

von Gast (Gast)


Lesenswert?

Nagut, dann glaub ich das mal mit dem Togglebit ;)
Aber ich hatte noch nie davon gehört und glaube, dass diese Technik eher 
selten ist.

von tobias (Gast)


Lesenswert?

hey
 ich wollte mich bedanken, aber ich denke das ist mir alles zu schwer, 
ich würde nun jemanden geld geben, wenn er mir eine IR  fernbedieung 
baut, die ein taster hat, mit der man den code von oben senden kann, und 
die ein mini usb anschluss hat, damit ich die auch selber programmieren 
kann, usb wär mir lieber, aber wenns nicht anders geht, dann wär auch 
ein andere schnitt stelle möglich.

die bedinung muss keine lernfunktion inne haben, wär toll wenn mir 
jemand ein angebot machen könnte.

tobi

von Peter Z. (hangloose)


Angehängte Dateien:

Lesenswert?

Hallo Tobias,

bau gerade eine programmierbare Fernbedienung.
Allerdings muss ich noch eine Platine dafür machen.
Im Moment gibt es leider nur einen Prototypen(siehe Bild ;-))
Dauert also leider noch ein bißchen.
Man kann bis zu 100 IR Befehle von verschiedenen Fernbedienungen
abspeichern. Bis jetzt hatte ich noch keine FB welche nicht funktioniert
hat. Hab aber auch erst ca. 20 ausprobiert.
Ich könnte noch 4 Tasteranschlüsse mit drauf machen wo dann direkt
4 gespeicherte Befehle abgerufen werden.
Kannst Dich ja mal melden wenn Du interesse hast...

von MarkoS. (Gast)


Lesenswert?

Hallo,

ich bin auf der Suche nach einer Möglichkeit ein IR-Signal in einem 
freiwählbaren Abstand (3-30Minuten, Sekunden einstellbar) rauszusenden, 
welches mehrfach verteilt wird (also z.B. an mehrere Geräte gleichen 
Bautyps geschickt wird).

Leider habe ich von der ganzen Mikrokontrollermaterie keine Ahnung und 
Frage mich, ob es jemanden bei Euch gibt, der Interesse daran hat mir 
eine solche Art Fernbedienung zu bauen.

Entsprechende Bezahlung versteht sich von selbst.

Danke
Marko

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.