I am succeed at circuit minimization, using UNO to Pro Micro. On the next class, we can ride it on MECHA KAME base. [Source]↓
#include <IRremote.h>
#define A 0xFF629D
#define B 0xFF22DD
#define C 0xFFC23D
#define D 0xFF02FD
#define E 0xFFA25D
#define f 0xFFE21D
int l=6,r=5;
int receiver = 3;
unsigned long RED;
int LED = 17;
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'
void _mForward()
{
Serial.println("VOL+ forward.");
digitalWrite(r,HIGH);
digitalWrite(l,HIGH);
delay(500);
}
void _mleft()
{
Serial.println("FAST FORWARD left.");
digitalWrite(r,HIGH);
digitalWrite(l,LOW);
}
void _mright()
{
Serial.println("FAST FORWARD right.");
digitalWrite(r,LOW);
digitalWrite(l,HIGH);
}
void _mStop()
{
Serial.println("PAUSE");
digitalWrite(r,LOW);
digitalWrite(l,LOW);
}
void _mstepStop()
{
delay(250);
_mStop();
}
void setup() {
//---set pin direction
pinMode(l,OUTPUT);
pinMode(r,OUTPUT);
Serial.begin(9600);
_mStop();
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
//---back and forth example
if (irrecv.decode(&results)) // have we received an IR signal?
{
RED=results.value;
Serial.println(RED);
irrecv.resume(); // receive the next value
delay(150);
if (RED==A)
{
_mForward();
_mstepStop();
}
else if (RED==B)
{
_mleft();
_mstepStop();
}
else if (RED==C)
{
_mright();
_mstepStop();
}
else if (RED==D)
{
_mStop();
}
else if (RED==E)
{
_mleft();
delay(200);
_mForward();
_mstepStop();
}
else if (RED==f)
{
_mright();
delay(200);
_mForward();
_mstepStop();
}
}