Open tesfayewak opened 8 years ago
Here is the code I used. ............................................
/-----( Declare Constants )-----/ int receiver = 9; // pin 1 of IR receiver to Arduino digital pin 11
/-----( Declare objects )-----/ IRrecv irrecv(receiver); // create instance of 'irrecv' decode_results results; // create instance of 'decoderesults' /-----( Declare Variables )-----_/
void setup() /----( SETUP: RUNS ONCE )----/ { Serial.begin(9600); Serial.println("IR Receiver Raw Data + Button Decode Test"); irrecv.enableIRIn(); // Start the receiver
}/--(end setup )---/
void loop() /----( LOOP: RUNS CONSTANTLY )----/ { if (irrecv.decode(&results)) // have we received an IR signal?
{
Serial.println(results.value, HEX); //UN Comment to see raw values
translateIR();
irrecv.resume(); // receive the next value
}
}/* --(end main loop )-- */
/-----( Declare User-written Functions )-----/ void translateIR() // takes action based on IR code received
// describing Car MP3 IR codes
{
switch(results.value)
{
case 0xFFA25D:
Serial.println(" CH- ");
break;
case 0xFF629D:
Serial.println(" CH ");
break;
case 0xFFE21D:
Serial.println(" CH+ ");
break;
case 0xFF22DD:
Serial.println(" PREV ");
break;
case 0xFF02FD:
Serial.println(" NEXT ");
break;
case 0xFFC23D:
Serial.println(" PLAY/PAUSE ");
break;
case 0xFFE01F:
Serial.println(" VOL- ");
break;
case 0xFFA857:
Serial.println(" VOL+ ");
break;
case 0xFF906F:
Serial.println(" EQ ");
break;
case 0xFF6897:
Serial.println(" 0 ");
break;
case 0xFF9867:
Serial.println(" 100+ ");
break;
case 0xFFB04F:
Serial.println(" 200+ ");
break;
case 0xFF30CF:
Serial.println(" 1 ");
break;
case 0xFF18E7:
Serial.println(" 2 ");
break;
case 0xFF7A85:
Serial.println(" 3 ");
break;
case 0xFF10EF:
Serial.println(" 4 ");
break;
case 0xFF38C7:
Serial.println(" 5 ");
break;
case 0xFF5AA5:
Serial.println(" 6 ");
break;
case 0xFF42BD:
Serial.println(" 7 ");
break;
case 0xFF4AB5:
Serial.println(" 8 ");
break;
case 0xFF52AD:
Serial.println(" 9 ");
break;
default: Serial.println(" other button ");
}
delay(500);
} //END translateIR
Hello everybody. I have been annoyed by unstable reading of the irremote library or my Ir receiver. I have used Ir receiver connected to Arduino mega 2560's digital pin 9. I have also tried to connect the VCC to 3.3v . But it still continues to print varying result.The first time reading is correct. however, the result I see on serial monitor is varying widely for a single button. Please help me solve this issue.