RC car
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user