Advertisement
andretafta

NodeMCU Car MotorShield

Aug 31st, 2021
1,629
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <ESP8266WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <ESP8266WebServer.h>
  4.  
  5. String command;             //String to store app command state.
  6. int speedCar = 600;         // 400 - 1023.
  7. int speed_Coeff = 3;
  8.  
  9. const char* ssid = "NodeMCU Car2";
  10. ESP8266WebServer server(80);
  11.  
  12. int PWMA = 4; //Right side
  13. int PWMB = 5; //Left side
  14. int DA = 2; //Right reverse
  15. int DB = 0; //Left reverse
  16.  
  17. void setup() {
  18.   // put your setup code here, to run once:
  19.   Serial.begin(115200);
  20.   pinMode(PWMA, OUTPUT);
  21.   pinMode(PWMB, OUTPUT);
  22.   pinMode(DA, OUTPUT);
  23.   pinMode(DB, OUTPUT);
  24.  
  25.   // Connecting WiFi
  26.  
  27.   WiFi.mode(WIFI_AP);
  28.   WiFi.softAP(ssid);
  29.  
  30.   IPAddress myIP = WiFi.softAPIP();
  31.   Serial.print("AP IP address: ");
  32.   Serial.println(myIP);
  33.  
  34.   // Starting WEB-server
  35.   server.on ( "/", HTTP_handleRoot );
  36.   server.onNotFound ( HTTP_handleRoot );
  37.   server.begin();
  38. }
  39.  
  40. void loop() {
  41.   // put your main code here, to run repeatedly:
  42.   server.handleClient();
  43.   command = server.arg("State");
  44.  
  45.   if (command == "F") goAhead();
  46.   else if (command == "B") goBack();
  47.   else if (command == "L") goLeft();
  48.   else if (command == "R") goRight();
  49.   else if (command == "I") goAheadRight();
  50.   else if (command == "G") goAheadLeft();
  51.   else if (command == "J") goBackRight();
  52.   else if (command == "H") goBackLeft();
  53.   else if (command == "S") stopRobot();
  54. }
  55.  
  56. void HTTP_handleRoot(void) {
  57.  
  58.   if ( server.hasArg("State") ) {
  59.     Serial.println(server.arg("State"));
  60.   }
  61.   server.send ( 200, "text/html", "" );
  62.   delay(1);
  63. }
  64.  
  65. void goLeft() {
  66.  
  67.   digitalWrite(PWMA, HIGH);
  68.   digitalWrite(DA, LOW);
  69.  
  70.   digitalWrite(PWMB, HIGH);
  71.   digitalWrite(DB, LOW);
  72. }
  73.  
  74. void goRight() {
  75.  
  76.   digitalWrite(PWMA, HIGH);
  77.   digitalWrite(DA, HIGH);
  78.  
  79.   digitalWrite(PWMB, HIGH);
  80.   digitalWrite(DB, HIGH);
  81. }
  82.  
  83. void goBack() {
  84.   digitalWrite(PWMA, 450);
  85.   digitalWrite(DA, HIGH);
  86.  
  87.   digitalWrite(PWMB, 450);
  88.   digitalWrite(DB, LOW);
  89. }
  90.  
  91. void goAhead() {
  92.   digitalWrite(PWMA, 450);
  93.   digitalWrite(DA, LOW);
  94.  
  95.   digitalWrite(PWMB, 450);
  96.   digitalWrite(DB, HIGH);
  97.  
  98. }
  99. void goAheadRight() {
  100.   digitalWrite(PWMA, LOW);
  101.   digitalWrite(DA, LOW);
  102.  
  103.   digitalWrite(PWMB, HIGH);
  104.   digitalWrite(DB, HIGH);
  105. }
  106.  
  107. void goAheadLeft() {
  108.   digitalWrite(PWMA, HIGH);
  109.   digitalWrite(DA, LOW);
  110.  
  111.   digitalWrite(PWMB, LOW);
  112.   digitalWrite(DB, LOW);
  113. }
  114.  
  115. void goBackRight() {
  116.   digitalWrite(PWMA, LOW);
  117.   digitalWrite(DA, LOW);
  118.  
  119.   digitalWrite(PWMB, HIGH);
  120.   digitalWrite(DB, LOW);
  121. }
  122.  
  123. void goBackLeft() {
  124.   digitalWrite(PWMA, HIGH);
  125.   digitalWrite(DA, HIGH);
  126.  
  127.   digitalWrite(PWMB, LOW);
  128.   digitalWrite(DB, LOW);
  129. }
  130.  
  131. void stopRobot() {
  132.  
  133.   digitalWrite(PWMA, LOW);
  134.   digitalWrite(DA, LOW);
  135.  
  136.   digitalWrite(PWMB, LOW);
  137.   digitalWrite(DB, LOW);
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement