Forum: Mikrocontroller und Digitale Elektronik IRMP Fernbedienung verstehen


von Philipp T. (phitho)


Angehängte Dateien:

Lesenswert?

Hey,
im Anhang sind die Daten der "On" Taste meiner Fernbedienung. (NEC 
Protokoll)

Ich habe im Prinzip das selbe Problem wie in diesen Thread:

Problem mit RGB Moodlight und IRMP
Beitrag "Problem mit RGB Moodlight und IRMP"

Zitat:
Bits allesamt von rechts nach links lesen, dann verstehts das IRMP.
Klappt nach diesem Prinzip auch für Taste Rot aus diesem Artikel:
http://blog.allgaiershops.com/2012/05/10/reversing-an-rgb-led-remote/

Meine On taste:
Adresse:(16Bit)
0000 0001 1111 1110
0xEF10   -> #define MY_REMOTE   0xef10
Commando:(8Bit reichen)
1011 0000 0100 1111
0x0b     ->  #define KEY_OPERATE 0x0b
Müsste so also Richtig sein.? (geht nicht)
Wenn man beim IRMP Loggin aktiviert bekommt der µC von der Fernbedienung 
aufjedenfall Signale und es tut sich irgendwas. Kann leider das logging 
nicht ausgeben da ich kein uart oder lcd hab.
Wenn man den Code vom Oszi Bild richtig übersetzten könnte...
Das muss doch möglich sein???
Viele Grüße

von Mike (Gast)


Lesenswert?

Philipp Tholey schrieb:
> Wenn man den Code vom Oszi Bild richtig übersetzten könnte...
> Das muss doch möglich sein???

Klar müßte das möglich sein, wenn der Code in Ordnung ist. Man müßte nur 
jemand finden, der das Timing sauber rausliest und in den Code 
übersetzt.

von Philipp T. (phitho)


Lesenswert?

ein Kästchen im Bild sind 2,5ms
NEC Protokoll
                 0       1
  header       9000µs  4500µs
  one           560µs  1690µs
  zero          560µs   565µs
  ptrail        560µs
  repeat       9000µs  2250µs

passt.

Irgendwer eine Idee wie man das richtig in Hex Code Übersetzt?

von gvs (Gast)


Lesenswert?

Tja Freund und Kupferstecher, du hast einfach nur die Nibbles 
vertauscht, und gehofft es passt dann schon.

1011 0000 0100 1111
B    0    4    F

Aus B0 = inv(4F) was richtig mit lsb rechts ist, hast 0B gemacht.

Aber lsb ist eigentlich links!

0000 1101 1111 0010
0    D    F    2

Also 0D = inv(F2).

Und hier
http://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol

steht was, was sich nicht mit dem deckt, was unser Hacker Freund mit 
seiner roten Taste, den du verlinkst, da von sich gibt (abgelesen ->A2 = 
45<-),es sei denn, er meint die oberste orangene und hat den gleichen 
Fehler gemacht.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Philipp Tholey schrieb:
> Wenn man beim IRMP Loggin aktiviert bekommt der µC von der Fernbedienung
> aufjedenfall Signale und es tut sich irgendwas. Kann leider das logging
> nicht ausgeben da ich kein uart oder lcd hab.

Speicher doch einfach die IRMP-Adresse und das Kommando im EEPROM, d.h. 
lerne die Tasten beim ersten Mal an. Danach vergleichst Du einfach 
empfangene Signale mit denen im EEPROM. Dann brauchst Du die konkreten 
Werte doch gar nicht zu wissen.

> Wenn man den Code vom Oszi Bild richtig übersetzten könnte...

Kann man. Man muss bei der Adresse 16 Bit rückwärts lesen (wegen LSB 
first). Die danach folgenden 8 Bit sind das Kommando (auch hier LSB) und 
die letzten 8 Bit einfach dasselbe Kommando nochmals invertiert.

Bleibt:

Adresse  = 0x7F80
Kommando = 0x0D

von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

Philipp Tholey schrieb:
> ein Kästchen im Bild sind 2,5ms
> NEC Protokoll
>                  0       1
>   header       9000µs  4500µs
>   one           560µs  1690µs
>   zero          560µs   565µs
>   ptrail        560µs
>   repeat       9000µs  2250µs
>
> passt.
>
> Irgendwer eine Idee wie man das richtig in Hex Code Übersetzt?

Dafür hab ich mal ein Perl-Skript gebastelt. Ich hänge es an.


XL

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.