Closed bend94 closed 10 years ago
Hi all,
Here is my project, Reading On/Off IR code coming from my mistubishing remote. I used the sketch 'IRrecvDump'
int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results;
void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver }
// Dumps out the decode_results structure. // Call this after IRrecv::decode() // void * to work around compiler issue //void dump(void v) { // decode_results results = (decode_results )v void dump(decode_results results) { int count = results->rawlen; if (results->decode_type == UNKNOWN) { Serial.print("Unknown encoding: "); } else if (results->decode_type == NEC) { Serial.print("Decoded NEC: "); } else if (results->decode_type == SONY) { Serial.print("Decoded SONY: "); } else if (results->decode_type == RC5) { Serial.print("Decoded RC5: "); } else if (results->decode_type == RC6) { Serial.print("Decoded RC6: "); } else if (results->decode_type == PANASONIC) { Serial.print("Decoded PANASONIC - Address: "); Serial.print(results->panasonicAddress,HEX); Serial.print(" Value: "); } else if (results->decode_type == JVC) { Serial.print("Decoded JVC: "); } Serial.print(results->value, HEX); Serial.print(" ("); Serial.print(results->bits, DEC); Serial.println(" bits)"); Serial.print("Raw ("); Serial.print(count, DEC); Serial.print("): ");
for (int i = 0; i < count; i++) { if ((i % 2) == 1) { Serial.print(results->rawbuf[i]_USECPERTICK, DEC); } else { Serial.print(-(int)results->rawbuf[i]_USECPERTICK, DEC); } Serial.print(" "); } Serial.println(""); }
void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); dump(&results); irrecv.resume(); // Receive the next value } }
Actually i received the signal and the code are displayed but always with 'Unknown encoding'
here is one output
E1CC9186 Unknown encoding: E1CC9186 (32 bits) Raw (100): 12064 3400 -1700 450 -1250 500 -1200 450 -400 450 -450 400 -450 500 -1200 500 -350 450 -400 500 -1200 450 -1300 500 -350 500 -1200 500 -350 450 -400 450 -1250 550 -1200 450 -400 450 -1250 450 -1250 450 -450 400 -450 400 -1300 450 -400 450 -400 450 -1250 450 -400 550 -350 400 -450 500 -350 500 -350 500 -350 500 -350 500 -400 500 -350 500 -350 500 -350 500 -400 450 -400 450 -400 500 -350 500 -350 500 -350 500 -350 500 -400 450 -400 500 -350 500 -350 500 -350 500
Some forum advise to increase the raw, it is what is did but still the 'Unknown encoding'
Can you help ? or Advise ? Regards
HI, look like that you had used the origin library. you can try this "IRSendRev" library, maybe works.
try this demo, https://github.com/Seeed-Studio/IRSendRev/tree/master/examples/recv find if receive anything?
Hi all,
Here is my project, Reading On/Off IR code coming from my mistubishing remote. I used the sketch 'IRrecvDump'
include
define MAX_CAPTURE 425
define RAWBUF 250 // Length of raw duration buffer
int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results;
void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver }
// Dumps out the decode_results structure. // Call this after IRrecv::decode() // void * to work around compiler issue //void dump(void v) { // decode_results results = (decode_results )v void dump(decode_results results) { int count = results->rawlen; if (results->decode_type == UNKNOWN) { Serial.print("Unknown encoding: "); } else if (results->decode_type == NEC) { Serial.print("Decoded NEC: "); } else if (results->decode_type == SONY) { Serial.print("Decoded SONY: "); } else if (results->decode_type == RC5) { Serial.print("Decoded RC5: "); } else if (results->decode_type == RC6) { Serial.print("Decoded RC6: "); } else if (results->decode_type == PANASONIC) { Serial.print("Decoded PANASONIC - Address: "); Serial.print(results->panasonicAddress,HEX); Serial.print(" Value: "); } else if (results->decode_type == JVC) { Serial.print("Decoded JVC: "); } Serial.print(results->value, HEX); Serial.print(" ("); Serial.print(results->bits, DEC); Serial.println(" bits)"); Serial.print("Raw ("); Serial.print(count, DEC); Serial.print("): ");
for (int i = 0; i < count; i++) { if ((i % 2) == 1) { Serial.print(results->rawbuf[i]_USECPERTICK, DEC); } else { Serial.print(-(int)results->rawbuf[i]_USECPERTICK, DEC); } Serial.print(" "); } Serial.println(""); }
void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); dump(&results); irrecv.resume(); // Receive the next value } }
Actually i received the signal and the code are displayed but always with 'Unknown encoding'
here is one output
E1CC9186 Unknown encoding: E1CC9186 (32 bits) Raw (100): 12064 3400 -1700 450 -1250 500 -1200 450 -400 450 -450 400 -450 500 -1200 500 -350 450 -400 500 -1200 450 -1300 500 -350 500 -1200 500 -350 450 -400 450 -1250 550 -1200 450 -400 450 -1250 450 -1250 450 -450 400 -450 400 -1300 450 -400 450 -400 450 -1250 450 -400 550 -350 400 -450 500 -350 500 -350 500 -350 500 -350 500 -400 500 -350 500 -350 500 -350 500 -400 450 -400 450 -400 500 -350 500 -350 500 -350 500 -350 500 -400 450 -400 500 -350 500 -350 500 -350 500
Some forum advise to increase the raw, it is what is did but still the 'Unknown encoding'
Can you help ? or Advise ? Regards