This commit is contained in:
petrukhnov
2026-06-19 12:02:10 +01:00
parent 0d84f6ab9e
commit aa76c1b274
@@ -0,0 +1,97 @@
/*
Simple RC car.
*/
#include <DIYables_IRcontroller.h> // DIYables_IRcontroller library
#define IR_RECEIVER_PIN D1 // The ESP8266 pin D1 connected to IR controller
#define LED D0
DIYables_IRcontroller_17 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
pinMode(LED, OUTPUT); // LED pin as output.
pinMode(D2, OUTPUT); /* PWM pin for Speed Control */
pinMode(D5, OUTPUT); //M1
pinMode(D6, OUTPUT); //M1
pinMode(D7, OUTPUT); //M2
pinMode(D8, OUTPUT); //M2
irController.begin();
Serial.println("SETUP OK");
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(LED, LOW);
delay(200);
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(LED, LOW);
delay(200);
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(LED, LOW);
delay(200);
digitalWrite(LED, HIGH);
}
void loop() {
Key17 key = irController.getKey();
if (key != Key17::NONE) {
switch (key) {
case Key17::KEY_UP:
Serial.println("BTN: UP");
digitalWrite(D5,HIGH);
digitalWrite(D6,LOW);
digitalWrite(D7,HIGH);
digitalWrite(D8,LOW);
analogWrite(D2,255);
break;
case Key17::KEY_LEFT:
Serial.println("BTN: LEFT");
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
digitalWrite(D7,HIGH);
digitalWrite(D8,LOW);
analogWrite(D2,1024);
break;
case Key17::KEY_RIGHT:
Serial.println("BTN: RIGHT");
digitalWrite(D5,HIGH);
digitalWrite(D6,LOW);
digitalWrite(D7,LOW);
digitalWrite(D8,HIGH);
analogWrite(D2,1024);
break;
case Key17::KEY_DOWN:
Serial.println("BTN: DOWN");
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
digitalWrite(D7,LOW);
digitalWrite(D8,HIGH);
analogWrite(D2,255);
break;
case Key17::KEY_OK:
Serial.println("BTN: OK");
digitalWrite(D5,LOW);
digitalWrite(D6,LOW);
digitalWrite(D7,LOW);
digitalWrite(D8,LOW);
analogWrite(D2,0);
break;
default:
Serial.println("BTN: default");
//analogWrite(D1,0);
break;
}
} else {
analogWrite(D2,0);
}
delay(100);
}