Hands-on Practice NITAC Advanced Course Mechanical and Electronic System Engineering Student

Minimize


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();
    }
  }

Similar Posts

Comments