#include <DIYables_IRcontroller.h>
#define IR_Reciever_Pin 9
#define ENA 8
#define IN1 7
#define IN2 6
#define IN3 5
#define IN4 4
#define ENB 3
DIYables_IRconroller_17 irController(IR_Reciver_Pin,200);
void setup(){
Serial.begin(9600);
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENB, OUTPUT);
digitalWrite(ENA, HIGH);
digitalWrite(ENB, HIGH);
}
void loop(){
key17 key = irController.getKey();
if(key != Key17::NONE){
switch(key){
case Key17::KEY_UP:
car_moveForward();
break;
case Key17::KEY_DOWN:
car_moveBackward();
break;
case Key17::KEY_LEFT:
car_turnLeft();
break;
case Key17::KEY_RIGHT:
car_turnRight();
break;
case Key17::KEY_OK:
car_stop();
break;
}
}
}
void car_moveForward(){
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void car_moveBackward(){
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void car_turnLeft(){
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void car_turnRight(){
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void car_stop(){
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}