PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Auf nicht-RC5-Fernbedienungen reagieren



TheME
25.08.2004, 20:20
Hi.
Ich möchte meinen AT90S2313 dazu bringen, beim Drücken einer Taste (nicht RC-5) einen Ausgang zu setzen.

Am Besten wäre folgende Methode: Zuerst soll der Controller den Befehl der Fernbedienung lernen. Ich denke da so daran, dass man zum Lernen einen Eingang am Controller setzt und dann die Taste auf der Fernbedienung drückt.
Beim späteren Drücken der Taste soll dann der Ausgang gesetzt werden.

So, wie soll ich das Bascom beibringen?

Freiheitspirat
26.08.2004, 11:11
Wie wäre es, wenn Du erstmal in einem bestimmten Takt den IR-Sensor abfragst und die Ergebnisse per rs232 auf einem Terminal ausgibst.
Dann hast Du einen ersten Eindruck mit was für Daten Du es zu tun hast.
Danach sollte die "Abtastfrequenz" auf die Signale optimiert werden.
Dann gilt es die Start- und Stoppbedingungen zu analysieren.
Das verbleibende "Bitmuster" ist dann schon der zu erlernende Tastendruck und kann später mit eingehenden Signalen verglichen werden...

26.08.2004, 18:29
Arbeiten nicht annähernd alle Fernbedienungen mit der Frequenz von 38kHz?

Ich habe für meinen PC einen Infrarot-Empfänger mit TSOP1738 gebastelt und der funktioniert mit allen Fernbedienungen, die ich bisher probiert habe.

Marco78
11.09.2005, 13:25
Ich möchte meinen AT90S2313 dazu bringen, beim Drücken einer Taste (nicht RC-5) einen Ausgang zu setzen.
So, wie soll ich das Bascom beibringen?

Ich schiebe das mal hoch, weil mich das auch interessiert und ich dafür nicht ein neues Thema anfangen muss.

PS: Die Suche habe ich benutzt, sonst hätte ich diesen Beitrag nicht gefunden.
Die Suche im Internet hat nur Assembler-Lösungen gebracht. Auch wenn man ASM in BASCOM einbinden kann, bringt mir das nicht viel, weil ich 1. nur eine .HEX habe und 2. wenn ich den Code hätte nicht zuordnen kann was ich davon eigentlich brauche, wie ich es auf andere Typen umsetze und auf die Abfrage reagieren kann.

hacker
11.09.2005, 15:18
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=812 so was?

Marco78
11.09.2005, 15:48
Nein. Sondern auf NICHT-RC5-CODE. Also irgendetwas anderes als RC5 ohne zu wissen, welcher Code es ist. Ein TSOP1736 an einem Mega16 angeschlossen (oder einen anderen AVR), dann eine Fernbedienung nehmen die irgendwo rumliegt, von der man nur weiss, das sie noch funktioniert, dann eine Taste drücken und den Code abspeichern lassen, dann das nächste mal, wenn wieder diese Taste gedrückt wird, was schalten. Und wenn man ne andere Taste nehmen will, wird es halt neu gespeichert.

hacker
11.09.2005, 20:26
hää? welchen code willste denn abspeichern wenn nicht den rc5 code?

Marco78
11.09.2005, 20:42
Jeden beliebigen IR-Code der Welt, außer RC5!

Warum willst du mir das denn nicht glauben?

Irgendein IR-Code der bei drücken irgendeiner Fernbedienung vom TSOP1736 aufgenommen wird soll ausgewertet werden. Dieser Code soll dann in den EEPROM gebrannt werden und wenn nochmal IR-Signale kommen, soll geprüft werden, ob es der im EEPROM ist.

hacker
12.09.2005, 16:26
gibt es einen anderen ir code als rc5? wüsst ich nicht, ob so was existiert...

Marco78
12.09.2005, 16:36
RC6, Sony, ...
Es gibt mind. 1 Dutzend.

Sandro
13.09.2005, 06:15
Ohne zu wissen um welchen Code es sich handelt wird das ganze recht
schwierig werden. Das erste was du wissen solltest ist die Trägerfrequenz
des Signals. Diese beträgt nämlich nicht immer 36kHz! Ohne einen
geeigneten Empfänge wirst du das Signal nicht auswerten können.

Hier die Beschreibung zu einigen IR-Codes (http://mikrocontroller.cco-ev.de/de/IR-Protokolle.htm).

Ich würde dir dazu raten die Fernbedienung die du verwenden möchtest
einfach mal zu öffnen. Viel mehr als ein IC wird da nicht drin sein.
In dem entsprechendem Datenblatt steht auch der verwendete Code.

Marco78
15.09.2005, 20:01
Danke für den Link.
Aber, das es möglich ist, haben schon viele bewiesen. Ich will ja auch nicht jede Taste einzeln nutzen können. Es müss also nicht der Code ermittelt werden und das Progamm sich dann automatisch auf den Code einstellen um alle Tasten zu benutzen.

Es muss nur ein beliebiger Code einer beliegigen Codeart verewigt werden.
Und ichkann ja nicht jedem, der das mal nachbauen möchte raten seine FB zu öffnen und dann ggf immer noch nicht schlauer zu sein. Es lässt sich ja nicht jeder IC bestimmen.

Sandro
15.09.2005, 20:50
Ok. Ich gebe zu meine Antwort war wohl doch etwas vorschnell.

Mit einem TSOP geht das definitiv nicht.
Wie ich schon beschrieben habe arbeiten nicht alle Codes auf der selben
Frequenz.

Aber ich habe gerade in einem meiner schon recht alten Bücher ein IC
gefunden das dir evtl. helfen könnte:
Ein TBA2800.
Wenn ich die Beschreibung richtig deute unterscheidet dieser gültige Signale
anhand der Flankensteilheit vom Rauschen. Ist also nicht Frequenzabhängig.

Möglicherweise ist das nicht die beste Lösung für dein Problem.
Aber einen Versuch ist es wert.

Evtl. findet sich ja auch noch jemand der einen etwas moderneren Baustein
nennen kann?

Die Auswertung der Signale würde ich genau so angehen wie du es selbst
schon beschrieben hast.

Ich hoffe ich konnte dir dieses Mal etwas besser helfen.

Marco78
15.09.2005, 21:31
Den TBA werde ich mir mal anschauen. Der TSOP11XX ist etwas schneller als die 17er. Ändert zwar nichts an der Trägerfrequenz, aber hilft evtl bei einigen Codes.
Wobei ich auf einigen Seiten gelsen habe, das die TSOP auch etwas außerhalb der Nennfrequenz arbeiten können. Das würde ja schon reichen. Die meisten FB arbeiten ja um 38kHz. Wessens nun 56kHz hat alte erstmal Pech, kann ja aber einen anderen Empfänger einbauen.
Beim TBA habe ich die Angst, das der die Trägerf. mit überträgt. Aber wie gesagt, ich werd mir den nochmal anschauen.
Einen TSOP habe ich sowieso schon in der Schaltung. Es wäre schön wenn ichden für alles nutzen könnte und kein zweiten Empfänger bräuchte.

Die Auswertung angehen...
Das ist es ja ;)
1. Warum das Rad neu erfinden?
2. Ich habe in einem Forum die Aussagen von jemanden gelesen, das sowas schonmal für einen AVR programmiert hat. Um das ganze nachher so kompatibel wie möglich zu gestallten hat er viel Arbeit investiert und viele FB gesmmelt.
3. Im Prinzip ist es ja nur die Periodendauern zu messen. Aber...
3.1 Wie geht das mit BASCOM (schnell)
3.2 Wie ein eventuelles Toggelbit erkennen?
3.3 Wie den Anfang und das Ende des Codes finden?

Es ist ja nicht so, das ich nicht will, aber wie anfangen?
Ichhabe mir in den letzten Tagen schon viele Gedanken gemacht. Aber keinen brauchbaren Ansatz gefunden und auch nochnicht die Möglichkeit gehabt mal mit BASCOM und einem AVR Frequenzen zu messen.
Und Email von Leuten die das ganze schonmal in die Tat umgesetzt haben habe ich auch noch nicht zurück bekommen.
Evtl kommen keine mehr, oder die sind alle im Urlaub?!

Also, unter Punkt 3 sind meine eigentlichen Probleme die ich habe, sofern niemand anders bereit ist seine Arbeiten zu veröffentlichen oder noch jemand anders mit den Text auf der .HEX übersetzen kann und besonders will und würde!

15.09.2005, 23:43
Hallo

Schau mal hier auf der Seite, ziemlich weit unten.
Sollte dich schonbmal ein gutes Stück weiter bringen.

http://eldo.gotdns.com/yard/firmware.html

Hier ein paar Codes

http://bjorn.rhoads.nu/hp48/remote/



MFG
Dieter

Marco78
16.09.2005, 00:11
Many Stuff!
Ich werde wohl einen Atmel Giga512 brauchen um alles in den Code zu packen ;)
Morgen schau ich mir die Seiten nochmal alle an und werde versuchen gemeinsame Nenner in den Codes zu finden. So wie es aussieht, werde ich es wohl selbst programmieren müssen und kann nicht drauf hoffen das mit jemand eine HEX übersetzt :(

16.09.2005, 00:13
Naja - ich hab das ganze in ne 2kb Pic - untergebracht -
(bin der autor von yard)

16.09.2005, 00:29
Many Stuff!
Ich werde wohl einen Atmel Giga512 brauchen um alles in den Code zu packen
Morgen schau ich mir die Seiten nochmal alle an und werde versuchen gemeinsame Nenner in den Codes zu finden. So wie es aussieht, werde ich es wohl selbst programmieren müssen und kann nicht drauf hoffen das mit jemand eine HEX übersetzt


Ich denke den Nec (Common-IR) und Japan-Code kannst du mit einem
gut parametrisierbaren Decoder verarbeiten - da beiden Codes gemein ist
das die Bits im Abstand zwischen den Pulsen kodiert sind - wo sich nur die H & L Zeiten unterscheiden. (Nach diesem Schema funktionieren sehr viele IR-Codes!)

> Atmel Giga512
soviel wirst du nicht - brauchen ich hab die 4-Decoder + Uhr + IR-Sender in einen 2kb PIC (16F628 untergebracht) also mit nem 8kb Atmel kannste da schon Bäume aussreisen.

Nochwas meine Website: eldo.gotdns.com ist nicht ganztägig online - sondern nur ab 14:45 bis 02:00 nachts!
(zur Not kannst du ja nen Blick in meinen Source zum PIC werfen,
und dir so die notwendige inspiration holen:)

André

tester
28.09.2005, 16:01
Lass es dir als String ausgeben den du dann immerwieder vergleichen kannst. Natürlich musst du ihn im speichern bzw erlernen

Marco78
28.09.2005, 19:17
Abspeichern ist wirklich nicht meine Sorge. Der Code kommt dann in den EEPROM und bleibt dort bis ein neuer kommt.

Aber wie soll das als String geh'n?
A$=IR-Code_an_PinD.1

Da wird Bascom 100%ig eine Fehlermeldung bringen ;)