Bonjour, je suis tout nouveau dans cette communauté, et j'ai récemment eu des led et récepteurs infrarouge. Je voulais donc essayer de faire un programme pour copier une télécommande : la carte reçois un signal, et envois le même.
Le problème est que pour envoyer le signal, j'ai besoin qu'il soit en HEX, et j'utilise la fonction IrReceiver.decodedIRData.decodedRawData qui le renvoit en binaire (il me semble).
Or la fonction Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX) me l'affiche bien en HEX; je voulais donc savoir comment récupérer cette donnée.
Merci d'avance !
Mon code :
#include <IRremote.h>
int receive_pin = 5;
void setup() {
Serial.begin(9600);
IrReceiver.begin(receive_pin, ENABLE_LED_FEEDBACK); // Start the receiver
IrSender.begin(3, ENABLE_LED_FEEDBACK, USE_DEFAULT_FEEDBACK_LED_PIN); // Start the sender
}
void loop() {
if (IrReceiver.decode()) {
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX); // Print "old" raw data
Serial.println(bitreverse32Bit(IrReceiver.decodedIRData.decodedRawData), HEX); // renvoit la valeur à envoyer
delay(2000);
IrSender.sendNEC(0xFB0020DF, 32); // code télécommande CGV on/off : remplacer "FB002DF" par la valeur du Serial.println
IrReceiver.resume(); // Enable receiving of the next value
}
}