Skip to content

Instantly share code, notes, and snippets.

@priyanshnama
Last active December 29, 2019 10:07
Show Gist options
  • Save priyanshnama/8412afae48685ae6a964d748c60b1c2a to your computer and use it in GitHub Desktop.
Save priyanshnama/8412afae48685ae6a964d748c60b1c2a to your computer and use it in GitHub Desktop.
Driver Code of Wifi-controlled Car to be flashed in Node-MCU - ESP8266
#define frontL 16 //D0 IN1 IN3 L
#define backL 5 //D1 IN2 IN4 L
#define frontR 4 //D2 IN1 IN3 R
#define backR 0 //D3 IN2 IN4 R
#define LED 2
#include <ESP8266WiFi.h>
WiFiClient client;
WiFiServer server(80);
String data ="";
const char* ssid = "Priyansh";
const char* password = "12346666";
void connectWiFi()
{
Serial.println("Connecting to WIFI");
WiFi.begin(ssid, password);
while ((!(WiFi.status() == WL_CONNECTED)))
{
delay(300);
Serial.print("..");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("NodeMCU Local IP is : ");
Serial.print((WiFi.localIP()));
blinking();
}
void setup()
{
Serial.begin(115200);
connectWiFi();
pinMode(LED, OUTPUT);
pinMode(frontL, OUTPUT);
pinMode(backL, OUTPUT);
pinMode(backR, OUTPUT);
pinMode(frontR, OUTPUT);
server.begin();
}
void leftdown()
{
digitalWrite(frontR,LOW);
digitalWrite(backR,HIGH);
digitalWrite(frontL,LOW);
digitalWrite(backL,LOW);
Serial.println("leftdown");
}
void rightdown()
{
digitalWrite(frontR,LOW);
digitalWrite(backR,LOW);
digitalWrite(frontL,LOW);
digitalWrite(backL,HIGH);
Serial.println("rightdown");
}
void power()
{
digitalWrite(frontR,LOW);
digitalWrite(backR,LOW);
digitalWrite(frontL,LOW);
digitalWrite(backL,LOW);
digitalWrite(LED,HIGH);
Serial.println("power");
}
void stopbot()
{
digitalWrite(frontR,LOW);
digitalWrite(backR,LOW);
digitalWrite(frontL,LOW);
digitalWrite(backL,LOW);
digitalWrite(LED,LOW);
Serial.println("stop");
}
void sharpright()
{
digitalWrite(frontR,LOW);
digitalWrite(backR,HIGH);
digitalWrite(frontL,HIGH);
digitalWrite(backL,LOW);
Serial.println("sharpright");
}
void sharpleft()
{
digitalWrite(frontR,HIGH);
digitalWrite(backR,LOW);
digitalWrite(frontL,LOW);
digitalWrite(backL,HIGH);
Serial.println("sharpleft");
}
void up()
{
digitalWrite(16,HIGH);
digitalWrite(4,HIGH);
digitalWrite(14,HIGH);
digitalWrite(15,HIGH);
Serial.println("UP");
}
void down()
{
digitalWrite(frontR,LOW);
digitalWrite(backR,HIGH);
digitalWrite(frontL,LOW);
digitalWrite(backL,HIGH);
Serial.println("down");
}
void left()
{
digitalWrite(frontR,HIGH);
digitalWrite(backR,LOW);
digitalWrite(frontL,LOW);
digitalWrite(backL,LOW);
Serial.println("left");
}
void right()
{
digitalWrite(frontR,LOW);
digitalWrite(backR,LOW);
digitalWrite(frontL,HIGH);
digitalWrite(backL,LOW);
Serial.println("right");
}
void blinking() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
Serial.println("blinking");
}
String checkClient (void)
{
while(!client.available()) delay(1);
String request = client.readStringUntil('\r');
request.remove(0, 5);
request.remove(request.length()-9,9);
return request;
}
void loop()
{
client = server.available();
if (!client) return;
data = checkClient ();
if (data == "up") up();
else if (data == "down") down();
else if (data == "left") left();
else if (data == "right") right();
else if (data == "sharpleft") sharpleft();
else if (data == "sharpright") sharpright();
else if (data == "power") power();
else if (data == "stop") stopbot();
else if (data == "backleft") leftdown();
else if (data == "backright") rightdown();
delay(500);
stopbot();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment