From 6eb77fdf18616f79f99f2a57eed40d3b7a55eaa5 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 2 Jan 2017 09:24:18 +0100 Subject: Initial import --- .../Infrared_remote_control_car.ino | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100755 Lesson 3 Infrared Remote Control Car/Infrared_remote_control_car/Infrared_remote_control_car.ino (limited to 'Lesson 3 Infrared Remote Control Car/Infrared_remote_control_car/Infrared_remote_control_car.ino') diff --git a/Lesson 3 Infrared Remote Control Car/Infrared_remote_control_car/Infrared_remote_control_car.ino b/Lesson 3 Infrared Remote Control Car/Infrared_remote_control_car/Infrared_remote_control_car.ino new file mode 100755 index 0000000..6890302 --- /dev/null +++ b/Lesson 3 Infrared Remote Control Car/Infrared_remote_control_car/Infrared_remote_control_car.ino @@ -0,0 +1,124 @@ +//www.elegoo.com +//2016.09.12 + +#include +int receiverpin = 12; +int in1=9; +int in2=8; +int in3=7; +int in4=6; +int ENA=10; +int ENB=5; +int ABS=130; +unsigned long RED; +#define A 16736925 + +#define B 16754775 + +#define X 16712445 + +#define C 16720605 + +#define D 16761405 + + +IRrecv irrecv(receiverpin); +decode_results results; + +void _mForward() +{ + digitalWrite(ENA,HIGH); + digitalWrite(ENB,HIGH); + digitalWrite(in1,LOW); + digitalWrite(in2,HIGH); + digitalWrite(in3,LOW); + digitalWrite(in4,HIGH); + Serial.println("go forward!"); +} +void _mBack() +{ + digitalWrite(ENA,HIGH); + digitalWrite(ENB,HIGH); + digitalWrite(in1,HIGH); + digitalWrite(in2,LOW); + digitalWrite(in3,HIGH); + digitalWrite(in4,LOW); + Serial.println("go back!"); +} +void _mleft() +{ + analogWrite(ENA,ABS); + analogWrite(ENB,ABS); + digitalWrite(in1,LOW); + digitalWrite(in2,HIGH); + digitalWrite(in3,HIGH); + digitalWrite(in4,LOW); + Serial.println("go left!"); +} +void _mright() +{ + analogWrite(ENA,ABS); + analogWrite(ENB,ABS); + digitalWrite(in1,HIGH); + digitalWrite(in2,LOW); + digitalWrite(in3,LOW); + digitalWrite(in4,HIGH); + Serial.println("go right!"); +} +void _mStop() +{ + digitalWrite(ENA,LOW); + digitalWrite(ENB,LOW); + Serial.println("STOP!"); +} +void setup() { + // put your setup code here, to run once: + pinMode(in1,OUTPUT); + pinMode(in2,OUTPUT); + pinMode(in3,OUTPUT); + pinMode(in4,OUTPUT); + pinMode(ENA,OUTPUT); + pinMode(ENB,OUTPUT); + pinMode(receiverpin,INPUT); + Serial.begin(9600); + _mStop(); + irrecv.enableIRIn(); +} + +void loop() { + if (irrecv.decode(&results)) + { + + RED=results.value; + Serial.println(RED); + irrecv.resume(); + delay(150); + if(RED==A) + { + _mForward(); + } + + else if(RED==B) + { + _mBack(); + } + + else if(RED==C) + { + _mleft(); + } + + else if(RED==D) + { + _mright(); + } + + + else if(RED==X) + { + _mStop(); + } + +} +} + -- cgit v1.2.3