Seeed-Studio / Seeed_Arduino_IRSendRev

This library provides sample codes for infrared encoding and decoding.
GNU Lesser General Public License v2.1
30 stars 16 forks source link

Decoding Air Cooler Mistubishi and trying to reproduce it with IR-Led #1

Closed bend94 closed 10 years ago

bend94 commented 10 years ago

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

ghost commented 10 years ago

HI, look like that you had used the origin library. you can try this "IRSendRev" library, maybe works.

ghost commented 10 years ago

try this demo, https://github.com/Seeed-Studio/IRSendRev/tree/master/examples/recv find if receive anything?