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.
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
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
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
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!?
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
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
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.
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).....
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
Ü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
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.
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...
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
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...
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