Created
October 19, 2011 19:52
-
-
Save ngharo/1299471 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include < IRremote.h > | |
int IRRECV = 11; | |
int READYLED = 9; | |
int PLAYBUTTON = 5; | |
int IRLED = 3; | |
int RESETBUTTON = 7; | |
int PLAYLED = 2; | |
decode_results results; | |
IRrecv irrecv(IRRECV); | |
IRsend irsend; | |
void setup() | |
{ | |
irrecv.enableIRIn(); | |
pinMode(READYLED, OUTPUT); | |
pinMode(PLAYBUTTON, INPUT); | |
pinMode(RESETBUTTON, INPUT); | |
pinMode(PLAYLED, OUTPUT); | |
} | |
int codeType = -1; | |
unsigned int rawCodes[RAWBUF]; | |
int codeLen; | |
void rec(decode_results *results) | |
{ | |
int count = results->rawlen; | |
codeLen = results->rawlen - 1; | |
for (int i = 1; i <= codeLen; i++) { | |
if (i % 2) { | |
rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK - MARK_EXCESS; | |
} | |
else { | |
rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK + MARK_EXCESS; | |
} | |
} | |
digitalWrite(READYLED, HIGH); | |
} | |
void play() | |
{ | |
digitalWrite(PLAYLED, HIGH); | |
irsend.sendRaw(rawCodes, codeLen, 38); | |
delay(800); | |
digitalWrite(PLAYLED, LOW); | |
} | |
void reset() | |
{ | |
int codeType = -1; | |
unsigned int rawCodes[RAWBUF]; | |
int codeLen; | |
digitalWrite(READYLED, LOW); | |
setup(); | |
} | |
void loop() | |
{ | |
if(irrecv.decode(&results) && digitalRead(READYLED) == LOW) { | |
rec(&results); | |
irrecv.resume(); | |
} | |
if (digitalRead(PLAYBUTTON) == LOW && digitalRead(READYLED) == HIGH) | |
{ | |
play(); | |
} | |
if (digitalRead(RESETBUTTON) == LOW) | |
{ | |
reset(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment