Hilfe bei IR-Codes senden…

Hallo Leute brauche bitte Hilfe bei IR-Codes senden…
Ich verwende folgende Programmcodes: zum senden das IRsendDemo und zum empfangen IRrecvDump.
Beim senden der Original Fernbedienung kommt folgender Code raus:
8048260C
Decoded RC6: 8048260C (36 bits)
Raw (64): 30944 2700 -800 500 -400 500 -350 500 -800 500 -800 1450 -750 500 -400 500 -350 500 -400 500 -350 500 -400 500 -350 500 -400 950 -800 500 -350 950 -800 550 -350 500 -400 500 -350 500 -400 900 -850 500 -350 950 -400 500 -800 500 -350 500 -400 500 -350 500 -400 950 -350 500 -800 500 -400 500

Und wenn ich über IRsendDemo sende: irsend.sendRC6(0x8048260C, 36);
48A60C0
Decoded RC6: 48A60C0 (36 bits)
Raw (64): -21198 2750 -800 500 -400 450 -900 450 -400 450 -900 900 -400 450 -450 450 -450 450 -400 500 -400 950 -850 400 -450 950 -850 450 -450 450 -450 900 -850 900 -850 500 -400 900 -400 500 -850 500 -400 450 -400 500 -450 450 -400 900 -450 500 -800 500 -450 400 -450 500 -400 450 -400 500 -400 450

Hoi
Und wo genau ist jetzt das Problem ?

Orignal Fernbedieung sendet: Decoded RC6: 8048260C (36 bits)

Arduino sendet: Decoded RC6: 48A60C0 (36 bits)

Habe ich das richtig erraten? Du hast 2 Arduinos, einen benutzt Du zum Senden, den anderen zum Empfangen. Du schaust zuerst, was der empfangende als Resultat der Ansteuerung mit der Fernbedienung ausgibt und programmierst den anderen Arduino dann so, dass er diesen Code versenden soll. Mit dem empfangenden Arduino wird das gesendete Signal wieder dekodiert und da bekommst Du ein anderes Resultat als erwartet. Stimmt das soweit?

ja genau so ist es… :disappointed_relieved:

madmexx:
Und wenn ich über IRsendDemo sende: irsend.sendRC6(0x8048260C, 36);

Seit wann kann eine 32-Bit Konstante 36 Bits enthalten?

Wenn Du 36 Bits senden möchtest, würde ich annehmen, dass Du dann auch 36 Bits an die Sendefunktion übergeben müßtest.

Ich habe aber keine Ahnung wie ich das machen soll…

Du müsstest die Bibliothek anpassen und aus dem "unsigned long data" im Methoden-Kopf ein "uint64_t" machen. Der Rest des Codes könnte dann schon funktionieren.

Das verstehe ich jetzt auch nicht.
0x8048260C ist doch eine 32 Bit Zahl?
Grüße Uwe

0x8048260C ist doch eine 32 Bit Zahl?

Ja, klar.
Wenn es aber eine 36 Bit Zahl sein soll, ist 0x8048260C vermutlich falsch.
Das würde auch erklären, dass

   irsend.sendRC6(0x8048260C, 36);

ein anderes Ergebnis liefert...

Oder andersrum:

irsend.sendRC6(0x8048260C, 36);

liefert
48A60C0
Decoded RC6: 48A60C0 (36 bits)
Dabei hat man beide Seiten voll unter Kontrolle, und somit die Chance rauszukriegen warum was anderes als erwartet rauskommt.
Dann kriegt man evtl auch raus, was man der sendRC6 Methode übergeben muss, damit das gleiche empfangen wird wie bei der Original-FB

dann ist
Decoded RC6: 8048260C (36 bits)
auch vermutlich falsch weil da 4 Bit fehlen?
Grüße Uwe

Hallo,
ich fummel gerade selber mit IR-Fernbedienung (MacMini, die Alte)
Das macht eigentlich einen "gehenden" Eindruck.

Hast Du das elektronisch richtig aufgebaut? Kondensator und Widerstand am
IR-Empfänger? Die IR-SendeDiode läuft mit 100mA-Pulsen?
Siehe Datenblätter. So könnte man HardwareFehler ausschliessen.
Gruß und Spaß
Andreas