Hi there,
so i'm creating an arduino car,and i'm gonna controll it with an ir reciever to recieve a remote signal,so what i'm trying to do is that i want it to recieve a specific signal like for example a signal to go forward and one to go backward and one to stop,and it does work when i send it specific signal,but when it recieves a signal to do something,and i try to give it another signal like stopping it stays on the ir signal it recieves FIRST,and i'm sure i put the "ir.resume()" function at the end this is my code
#include <IRremote.h>
//the defintions
#define irpin A0
#define led LED_BUILTIN
#define enable_1 5
#define enable_2 6
#define enable_3 9
#define enable_4 11
#define forward_1 4
#define forward_2 2
#define forward_3 8
#define forward_4 A2
#define backward_1 3
#define backward_2 7
#define backward_3 10
#define backward_4 A1
IRrecv ir(irpin);
decode_results results;
void setup() {
// put your setup code here, to run once:
pinMode(enable_1, OUTPUT);
pinMode(enable_2, OUTPUT);
pinMode(enable_3, OUTPUT);
pinMode(enable_4, OUTPUT);
pinMode(forward_1, OUTPUT);
pinMode(forward_2, OUTPUT);
pinMode(forward_3, OUTPUT);
pinMode(forward_4, OUTPUT);
pinMode(backward_1, OUTPUT);
pinMode(backward_2, OUTPUT);
pinMode(backward_3, OUTPUT);
pinMode(backward_4, OUTPUT);
Serial.begin(9600);
ir.enableIRIn();
}
void stop() {
analogWrite(enable_1, 0);
analogWrite(enable_2, 0);
analogWrite(enable_3, 0);
analogWrite(enable_4, 0);
}
void loop() {
// put your main code here, to run repeatedly
unsigned long code = results.value;
if (ir.decode(&results)) {
Serial.println(ir.decodedIRData.decodedRawData, HEX);
}
if (code == 0xFF02FD) {
//this is to go forward
Serial.println(ir.decodedIRData.decodedRawData, HEX);
void stop();
digitalWrite(led, HIGH);
analogWrite(enable_1, 255);
analogWrite(enable_2, 255);
analogWrite(enable_3, 255);
analogWrite(enable_4, 255);
digitalWrite(forward_1, HIGH);
digitalWrite(forward_2, HIGH);
digitalWrite(forward_3, HIGH);
digitalWrite(forward_4, HIGH);
digitalWrite(backward_1, LOW);
digitalWrite(backward_2, LOW);
digitalWrite(backward_3, LOW);
digitalWrite(backward_4, LOW);
}
if (code == 0xFF22DD) {
//this is to go backward
Serial.println(ir.decodedIRData.decodedRawData, HEX);
void stop();
digitalWrite(led, HIGH);
analogWrite(enable_1, 255);
analogWrite(enable_2, 255);
analogWrite(enable_3, 255);
analogWrite(enable_4, 255);
digitalWrite(forward_1, LOW);
digitalWrite(forward_2, LOW);
digitalWrite(forward_3, LOW);
digitalWrite(forward_4, LOW);
digitalWrite(backward_1, HIGH);
digitalWrite(backward_2, HIGH);
digitalWrite(backward_3, HIGH);
digitalWrite(backward_4, HIGH);
if (code == 0xFFC23D) {
// and this is to stop
void stop();
analogWrite(enable_1, 0);
analogWrite(enable_2, 0);
analogWrite(enable_3, 0);
analogWrite(enable_4, 0);
digitalWrite(forward_1, LOW);
digitalWrite(forward_2, LOW);
digitalWrite(forward_3, LOW);
digitalWrite(forward_4, LOW);
digitalWrite(backward_1, HIGH);
digitalWrite(backward_2, HIGH);
digitalWrite(backward_3, HIGH);
digitalWrite(backward_4, HIGH);
}
}
ir.resume();
}
also Ramadan Mubarak everybody!