Forum: Mikrocontroller und Digitale Elektronik Mit RC5 Kommandos >9 auswerten


von Paul Baumann (Gast)


Angehängte Dateien:

Lesenswert?

Ich befasse mich gerade mit der Auswertung von Signalen einer RC5-
Fernbedienung. Mir stellt sich die Frage: Wie kann ich Kanäle > 9
auswerten? Hier:
http://www.sprut.de/electronic/ir/rc5.htm
fand ich eine Tabelle mit den Kommandos. Aber: Wodurch unterscheide ich
zum Beispiel einen Druck auf die Taste "Vol+", die dem Kommando 16 ent-
spricht von der Wahl des Kanals 16, der durch Druck auf die Tasten
"10+" und "6" dargestellt wird?

Mein angefügtes Programm funktioniert prima für die Kanäle 1-9, -
ich möchte aber ca. 20 Relais ansteuern. Die Volumetasten brauche
ich dann später noch, um eine PWM auf- und nieder steuern zu können.

MfG Paul

von GFrankie (Gast)


Lesenswert?

Kommando 16 entspricht einem Tastendruck auf "Vol+"
Kanal 16 Anwahl besteht aus zwei Tastendrücken, nämlich "10+" und "6"
Wenn mit GetRC5 der Code für "10+" ankommt (finde ich in der Sprut 
Tabelle nicht) zB eine 10 speichern und folgende empfangene Ziffer (6) 
addieren -> Relais 16 schalten.

von Michael_ (Gast)


Lesenswert?

Ich habe damit auch vor einiger Zeit damit experimentiert.
In meiner Liste gibt es auch keinen Code für 10+. Ich vermute mal, du 
mußt erst die 10 auswerten und als zweites die 1..9.
Ich habe da mit einem ATMEL die Signale ausgewertet und dann mit seriell 
auf den PC den Code ausgegeben. Da konnte man schön sehen, was die FB 
auf den verschiedenen Tasten für einen Code aussenden.
Die Routine ist entweder im AVR-Studio oder BASCOM schon vorhanden.
Ich brauchte das vor allem für die Geräteadressen, die die verschiedenen 
Fernbedienungen nicht immer korrekt mitgesendet hatten.

von GFrankie (Gast)


Lesenswert?

GFrankie schrieb:
> Kommando 16 entspricht einem Tastendruck auf "Vol+"
> Kanal 16 Anwahl besteht aus zwei Tastendrücken, nämlich "10+" und "6"
> Wenn mit GetRC5 der Code für "10+" ankommt (finde ich in der Sprut
> Tabelle nicht) zB eine 10 speichern und folgende empfangene Ziffer (6)
> addieren -> Relais 16 schalten.

Ahhh verstehe dein Problem. Man könnte man eine zweite CASE Reihe 
aufmachen, die nur ausgeführt wird, wenn der Code für "10+" empfangen 
wurde, also diesen code als Flag verwenden. Darin mit der Kanal 16 das 
Relais 16 schalten. Mit der "Vol+" 16 in der anderen Case das was du 
immer damit machen möchtest.

von Peter D. (peda)


Lesenswert?

RC5 hat 7 Kommandobits, also kannst Du 128 Kommandos senden.
Wenn Du eine fertige FB benutzt, die nicht soviel Tasten hat, mußt Du 
die Tasten kombinieren.

Entweder, eine Taste wird als Shift-Funktion benutzt oder Du mußt 2 
Tasten innerhalb einer bestimmten Zeit drücken.

Oder nimm ne Universal-FB, die haben reichlich Tasten.


Peter

von Paul Baumann (Gast)


Lesenswert?

Danke erstmal für Eure Anregungen und Hinweise.
So, ich habe nun festgestellt, daß die Taste "+10" allein den Wert 10 
liefert. Ich muß nun alles >9 in einer Variablen aufbewahren und einen
Moment warten, ob noch eine weitere Taste von 1-9 hinterher gedrückt
wird. Ist das so, dann werden beide Kommandos addiert.

Das wird ein Gewürge, weil ich meine schöne Toggle-Bit Auswertung so
nicht mehr benutzen kann.

Na, mal sehen....

MfG Paul

von Michael_ (Gast)


Lesenswert?

>Das wird ein Gewürge, weil ich meine schöne Toggle-Bit Auswertung so
>nicht mehr benutzen kann.
Tja, einen Schönheitspreis soll es doch nicht kriegen!
Hast du eigentlich eine Uni-FB?
Dann kann man mit den Geräteadressen 00 - .. vorher die verschiedenen 
Blöcke auswählen. Die in meinem Fundus befindlichen FB haben da 4 - 8 
Tasten.

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.