Skip to content

Instantly share code, notes, and snippets.

@Ryanhu1015
Created June 18, 2017 15:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ryanhu1015/eb80cfb76d863d67832b530fc7a13d43 to your computer and use it in GitHub Desktop.
Save Ryanhu1015/eb80cfb76d863d67832b530fc7a13d43 to your computer and use it in GitHub Desktop.
IR_receiver
#include <IRremoteESP8266.h>
const int RECV_PIN = 13;
const int R_FD = 2;
const int R_BD = 16;
const int L_FD = 4;
const int L_BD = 5;
IRrecv irrecv(RECV_PIN);
decode_results results;
void car_stop()
{
Serial.println("stop");
analogWrite(R_FD, 1023);
analogWrite(R_BD, 1023);
analogWrite(L_FD, 1023);
analogWrite(L_BD, 1023);
}
void car_forward()
{
Serial.println("forward");
analogWrite(R_BD, 1023);
analogWrite(R_FD, 600);
analogWrite(L_BD, 1023);
analogWrite(L_FD, 600);
}
void car_backward()
{
Serial.println("backward");
analogWrite(R_FD, 1023);
analogWrite(R_BD, 600);
analogWrite(L_FD, 1023);
analogWrite(L_BD, 600);
}
void car_turnright()
{
Serial.println("turnright");
analogWrite(R_BD, 1023);
analogWrite(R_FD, 1023);
analogWrite(L_BD, 1023);
analogWrite(L_FD, 600);
}
void car_turnleft()
{
Serial.println("turnleft");
analogWrite(R_BD, 1023);
analogWrite(R_FD, 600);
analogWrite(L_BD, 1023);
analogWrite(L_FD, 1023);
}
void setup()
{
Serial.begin(115200);
irrecv.enableIRIn(); // Start the receiver
pinMode(R_FD, OUTPUT);
pinMode(R_BD, OUTPUT);
pinMode(L_FD, OUTPUT);
pinMode(L_BD, OUTPUT);
pinMode(RECV_PIN, INPUT);
analogWrite(R_FD, 1023);
analogWrite(R_BD, 1023);
analogWrite(L_FD, 1023);
analogWrite(L_BD, 1023);
}
void loop()
{
int type;
if (irrecv.decode(&results)) //decode the signal received from remote
{
type = results.value;
Serial.println(type, HEX);
switch (type)
{
case 0xC08F7: //stop
car_stop();
ifforward=0;
break;
case 0xCD02F: //forward
car_forward();
ifforward=1;
break;
case 0xC30CF: //backward
car_backward();
ifforward=0;
break;
case 0xC708F: //turn right
car_turnright();
ifforward=0;
break;
case 0xCB04F: //turn left
car_turnleft();
ifforward=0;
break;
default:
break;
}
irrecv.resume();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment