2022年8月18日木曜日

ESP8266 WiFi Simplecar


 






//ESP8266_wrover_wifi-simplecar

//Thanks to mukujii.sakura.ne.jp/esp1.html

//DRV8833 VCC-3.3V GND-GND OUT1,OUT2-M1 OUT3,OUT4-M2

//DRV8833 IN1-D2(GPIO4) IN2-D1(GPIO5) IN3-D6(GPIO12) IN4-D7(GPIO12)


#include <ESP8266WiFi.h>


const char* ssid     = "";      

const char* password = ""; 

 

const char html[] =

"<!DOCTYPE html><html lang='ja'><head><meta charset='UTF-8'>\

<style>input {font-size:16pt;margin:16px;width:160px;}\

div {font-size:32pt;color:blue;text-align:center;width:600px;border:medium solid black;}</style>\

<title>ESP8266 WiFiCar</title></head>\

<body><div><p>WiFi_Controller</p>\

<form method='get'>\

<input type='submit' name='le' value='Left' />\

<input type='submit' name='fo' value='Forward' />\

<input type='submit' name='ri' value='Right' /><br>\

<input type='submit' name='nu' value='Not use' />\

<input type='submit' name='st' value='Stop' />\

<input type='submit' name='nu' value='Not use' /><br> \

<input type='submit' name='nu' value='Not use' />\

<input type='submit' name='ba' value='Back' />\

<input type='submit' name='nu' value='Not use' /><br><br>\

</form></div></body></html>";


void Forward()

{

  digitalWrite(4,HIGH);

  digitalWrite(5,LOW);

  digitalWrite(12,HIGH);

  digitalWrite(13,LOW);

}


void Back()

{

  digitalWrite(4,LOW);

  digitalWrite(5,HIGH);

  digitalWrite(12,LOW);

  digitalWrite(13,HIGH);

}


void MotorStop()

{

  digitalWrite(4,LOW);

  digitalWrite(5,LOW);

  digitalWrite(12,LOW);

  digitalWrite(13,LOW);

}


void Right()

{

  digitalWrite(4,LOW);

  digitalWrite(5,LOW);

  digitalWrite(12,HIGH);

  digitalWrite(13,LOW);

  delay(300);

}

 

void Left()

{

  digitalWrite(4,HIGH);

  digitalWrite(5,LOW);

  digitalWrite(12,LOW);

  digitalWrite(13,LOW);

  delay(300); 

}


WiFiServer server(80);


void setup()

{

  pinMode(4,OUTPUT);

  pinMode(5,OUTPUT);

  pinMode(12,OUTPUT);

  pinMode(13,OUTPUT);

  

  Serial.begin(115200);

  delay(10);


  Serial.println();

  Serial.println();

  Serial.print("Connecting to ");

  Serial.println(ssid);


  WiFi.begin(ssid, password);


  while (WiFi.status() != WL_CONNECTED) 

   {

    delay(500);

    Serial.print(".");

   }


  Serial.println("");

  Serial.println("WiFi connected.");

  Serial.println("IP address: ");

  Serial.println(WiFi.localIP());


  server.begin();

}


void loop(){

   WiFiClient client = server.available();


   if (client) {

      Serial.println("New Client.");

      String currentLine = "";

      while (client.connected()) {

         if (client.available()) {

            char c = client.read();

            Serial.write(c);

               if (c == '\n') {

                  if (currentLine.length() == 0) {

                     client.println("HTTP/1.1 200 OK");

                     client.println("Content-type:text/html");

                     client.println();

                     client.print(html);

                     client.println();

                     break;

                  } else {

                     currentLine = "";

                  }

               } else if (c != '\r') {

                  currentLine += c;

               }


            if (currentLine.endsWith("GET /?fo")) {

              Forward();              

            }

            if (currentLine.endsWith("GET /?le")) {

              Left();

            }

            if (currentLine.endsWith("GET /?ri")) {

              Right();

            }

            if (currentLine.endsWith("GET /?ba")) {

              Back();

            }

            if (currentLine.endsWith("GET /?nu")) {

              

            }

            if (currentLine.endsWith("GET /?nu")) {

              

            }

            if (currentLine.endsWith("GET /?st")) {

               MotorStop();

            }

            if (currentLine.endsWith("GET /?nu")) {

               

            }

            if (currentLine.endsWith("GET /?nu")) {

               

            }            

         }

      }

      client.stop();

      Serial.println("Client Disconnected.");

   }

}

0 件のコメント:

コメントを投稿