【Back Feb 24th!】Holiday from Feb 14-23. All orders placed now will ship starting Feb 24th.





<p>int receiverpin= 11;<br>#include <IRremote.h></p><p><irremote.h><irremoteint.h><irremotetools.h>IRrecv irrecv(receiverpin); // create instance of irrecv
decode_results results;</irremotetools.h></irremoteint.h></irremote.h></p><p>void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
}</p><p> void loop()
{
if (irrecv.decode(&results)) // have we received an IR signal?
{
Serial.print(results.value, HEX); // display IR code on the Serial Monitor
Serial.print(" ");
irrecv.resume(); // receive the next value
}
}</p>


<p>int receiverpin= 11;<br>#include <IRremote.h><irremote.h></irremote.h></p><p>IRrecv irrecv(receiverpin); // create instance of irrecv
decode_results results;</p><p>void setup()
{
Serial.begin(9600);
//left motor
pinMode(4,OUTPUT); //
pinMode(7,OUTPUT);
pinMode(6,OUTPUT); //pwm
//right right
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(9,OUTPUT);//pwm
irrecv.enableIRIn(); // start the receiver
}</p><p>void onLED(int pin, int voltage)
{
digitalWrite(pin, voltage);
}</p><p>void goForward(int duration, int pwm)
{
digitalWrite(4,HIGH);
delay(duration);//100
digitalWrite(7,LOW);
analogWrite(6,pwm);//right motor
digitalWrite(13,HIGH);
delay(duration);
digitalWrite(12,LOW);
analogWrite(9,pwm);// right motor
}</p><p>void fullReverse(int duration, int pwm)
{
digitalWrite(4,LOW);
delay(duration);
digitalWrite(7,HIGH);
analogWrite(6,pwm);
digitalWrite(13,LOW);
delay(duration);
digitalWrite(12,HIGH);
analogWrite(9,pwm);// right motor
}</p><p>void fullStop(int duration, int pwm)
{
digitalWrite(4,LOW);
delay(duration);
digitalWrite(7,LOW);
analogWrite(6,pwm);//
digitalWrite(13,LOW);
delay(duration);
digitalWrite(12,LOW);
analogWrite(9,pwm);// right motor
}</p><p>void turnLeft(int duration, int pwm)
{
digitalWrite(13,LOW);
delay(duration);
digitalWrite(12,HIGH);
analogWrite(9,pwm);// right motor
digitalWrite(4,HIGH);
delay(duration);
digitalWrite(7,LOW);
analogWrite(6,pwm);
}</p><p>void turnRight( int duration, int pwm)
{
digitalWrite(13,HIGH);
delay(duration);
digitalWrite(12,LOW);
analogWrite(9,pwm);// right motor
digitalWrite(4,LOW);
delay(duration);
digitalWrite(7,HIGH);
analogWrite(6,pwm);
}
void translateIR()
// takes action based on IR code received
// uses Sony IR codes
{
switch(results.value)
{
case 0x9CB47: goForward(100,120); // (x,y), adjust the y values for speed
break;</p><p> case 0x5CB47: fullReverse(100,100);
break;</p><p> case 0x3CB47: turnLeft(100,120);
break; </p><p> case 0xDCB47: turnRight(100,120);
break; </p><p> default:fullStop(100,0);
break;</p><p> }
}</p><p> void loop()
{
if (irrecv.decode(&results)) // have we received an IR signal?
{
onLED(2,255); // on led when the signal is being recieved
translateIR();
for (int z = 0 ; z < 2 ; z++) // ignore the repeated codes
{
irrecv.resume(); // receive the next value
}
}
else
{
onLED(2,0); // off if the signal is not being recived
}
}</p>