Created
June 18, 2017 15:28
-
-
Save Ryanhu1015/eb80cfb76d863d67832b530fc7a13d43 to your computer and use it in GitHub Desktop.
IR_receiver
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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