Wi-Fi Controlled Bot
This bot implements the addition of ESP8266 for establishing a Wi-Fi communication between the Arduino on the remote side and the bot side.
Components and supplies
1
Jumper wires (generic)
4
Tactile Switch, SPST-NO
1
SparkFun Breadboard Power Supply 5V/3.3V
1
Dual H-Bridge motor drivers L298
2
DC motor (generic)
1
Breadboard (generic)
2
Arduino UNO
2
ESP8266 ESP-01
Tools and machines
1
Soldering iron (generic)
Apps and platforms
1
Arduino IDE
Project description
Code
Bot : Arduino Code
arduino
1const int i1 = 2; 2const int i2 = 3; 3const int i3 = 4; 4const int i4 = 5; 5int i; 6void setup() { 7 Serial.begin(115200); 8 pinMode(i1, OUTPUT); 9 pinMode(i2, OUTPUT); 10 pinMode(i3, OUTPUT); 11 pinMode(i4, OUTPUT); 12} 13 14void loop() { 15 if(Serial.available()) { 16 i = Serial.read(); 17 Serial.println(i); 18 19 if(i == 115) { 20 digitalWrite(i1, HIGH); 21 digitalWrite(i2, LOW); 22 digitalWrite(i3, LOW); 23 digitalWrite(i4, HIGH); 24 } 25 else if(i == 119) { 26 digitalWrite(i1, LOW); 27 digitalWrite(i2, HIGH); 28 digitalWrite(i3, HIGH); 29 digitalWrite(i4, LOW); 30 } 31 else if(i == 100) { 32 digitalWrite(i1, HIGH); 33 digitalWrite(i2, LOW); 34 digitalWrite(i3, HIGH); 35 digitalWrite(i4, LOW); 36 } 37 else if(i == 97) { 38 digitalWrite(i1, LOW); 39 digitalWrite(i2, HIGH); 40 digitalWrite(i3, LOW); 41 digitalWrite(i4, HIGH); 42 } 43 } 44 else { 45 delay(600); 46 i = 0; 47 digitalWrite(i1, LOW); 48 digitalWrite(i2, LOW); 49 digitalWrite(i3, LOW); 50 digitalWrite(i4, LOW); 51 } 52} 53
Remote : Arduino Code
arduino
1const int f = A0; 2const int l = A1; 3const int b = A2; 4const int r = 7; 5 6void setup() { 7 pinMode(f, INPUT_PULLUP); 8 pinMode(b, INPUT_PULLUP); 9 pinMode(l, INPUT_PULLUP); 10 pinMode(r, INPUT_PULLUP); 11 Serial.begin(115200); 12} 13void loop() { 14 delay(500); 15 if(digitalRead(f) == 0) { 16 Serial.print("w"); 17 } 18 else if(digitalRead(b) == 0) { 19 Serial.print("s"); 20 } 21 else if(digitalRead(l) == 0) { 22 Serial.print("a"); 23 } 24 else if(digitalRead(r) == 0) { 25 Serial.print("d"); 26 } 27} 28
Remote : ESP8266 Code
arduino
1#include <ESP8266WiFi.h> 2 3#define STASSID "ESP8266" 4#define STAPSK "12345678" 5 6const char* ssid = STASSID; 7const char* password = STAPSK; 8 9const char* host = "192.168.4.1"; 10const uint16_t port = 1234; 11char c; 12 13void setup() { 14 Serial.begin(115200); 15 Serial.println(); 16 WiFi.mode(WIFI_STA); 17 WiFi.begin(ssid, password); 18 19 while(WiFi.status() != WL_CONNECTED) { 20 Serial.println("Trying to Connect to ESP8266 Access Point"); 21 delay(1000); 22 } 23 Serial.println("Connection Successful"); 24} 25 26void loop() { 27 WiFiClient client; 28 29 if(!client.connect(host, port)) { 30 Serial.println("Connection Lost, Trying to establish connection"); 31 delay(2000); 32 return; 33 } 34 35 Serial.println("Communication Established"); 36 while(client.connect(host, port)) { 37 if(Serial.available()) { 38 c = Serial.read(); 39 Serial.println(c); 40 client.print(c); 41 } 42 } 43 44 Serial.println("Connection Lost"); 45 client.stop(); 46} 47
Remote : ESP8266 Code
arduino
1#include <ESP8266WiFi.h> 2 3#define STASSID "ESP8266" 4#define 5 STAPSK "12345678" 6 7const char* ssid = STASSID; 8const char* password 9 = STAPSK; 10 11const char* host = "192.168.4.1"; 12const uint16_t port = 1234; 13char 14 c; 15 16void setup() { 17 Serial.begin(115200); 18 Serial.println(); 19 WiFi.mode(WIFI_STA); 20 21 WiFi.begin(ssid, password); 22 23 while(WiFi.status() != WL_CONNECTED) { 24 25 Serial.println("Trying to Connect to ESP8266 Access Point"); 26 delay(1000); 27 28 } 29 Serial.println("Connection Successful"); 30} 31 32void loop() { 33 34 WiFiClient client; 35 36 if(!client.connect(host, port)) { 37 Serial.println("Connection 38 Lost, Trying to establish connection"); 39 delay(2000); 40 return; 41 42 } 43 44 Serial.println("Communication Established"); 45 while(client.connect(host, 46 port)) { 47 if(Serial.available()) { 48 c = Serial.read(); 49 Serial.println(c); 50 51 client.print(c); 52 } 53 } 54 55 Serial.println("Connection 56 Lost"); 57 client.stop(); 58} 59
Bot : ESP8266 Code
arduino
1#include <ESP8266WiFi.h> 2#include <WiFiClient.h> 3 4#define APSSID "ESP8266" 5#define APPSK "12345678" 6 7const char *apssid = APSSID; 8const char *appassword = APPSK; 9char c; 10 11WiFiServer server(1234); 12 13void setup() { 14 Serial.begin(115200); 15 delay(1000); 16 WiFi.softAP(apssid, appassword); 17 server.begin(); 18 Serial.println(); 19} 20 21void loop() { 22 WiFiClient client = server.available(); 23 24 if(client) { 25 while(client.connected()) { 26 while(client.available() > 0) { 27 c = client.read(); 28 Serial.write(c); 29 } 30 delay(25); 31 } 32 } 33} 34
Bot : Arduino Code
arduino
1const int i1 = 2; 2const int i2 = 3; 3const int i3 = 4; 4const int 5 i4 = 5; 6int i; 7void setup() { 8 Serial.begin(115200); 9 pinMode(i1, 10 OUTPUT); 11 pinMode(i2, OUTPUT); 12 pinMode(i3, OUTPUT); 13 pinMode(i4, OUTPUT); 14} 15 16void 17 loop() { 18 if(Serial.available()) { 19 i = Serial.read(); 20 Serial.println(i); 21 22 23 if(i == 115) { 24 digitalWrite(i1, HIGH); 25 digitalWrite(i2, LOW); 26 27 digitalWrite(i3, LOW); 28 digitalWrite(i4, HIGH); 29 } 30 else 31 if(i == 119) { 32 digitalWrite(i1, LOW); 33 digitalWrite(i2, HIGH); 34 35 digitalWrite(i3, HIGH); 36 digitalWrite(i4, LOW); 37 } 38 39 else if(i == 100) { 40 digitalWrite(i1, HIGH); 41 digitalWrite(i2, 42 LOW); 43 digitalWrite(i3, HIGH); 44 digitalWrite(i4, LOW); 45 } 46 47 else if(i == 97) { 48 digitalWrite(i1, LOW); 49 digitalWrite(i2, 50 HIGH); 51 digitalWrite(i3, LOW); 52 digitalWrite(i4, HIGH); 53 } 54 55 } 56 else { 57 delay(600); 58 i = 0; 59 digitalWrite(i1, LOW); 60 61 digitalWrite(i2, LOW); 62 digitalWrite(i3, LOW); 63 digitalWrite(i4, 64 LOW); 65 } 66} 67
Remote : Arduino Code
arduino
1const int f = A0; 2const int l = A1; 3const int b = A2; 4const int 5 r = 7; 6 7void setup() { 8 pinMode(f, INPUT_PULLUP); 9 pinMode(b, INPUT_PULLUP); 10 11 pinMode(l, INPUT_PULLUP); 12 pinMode(r, INPUT_PULLUP); 13 Serial.begin(115200); 14} 15void 16 loop() { 17 delay(500); 18 if(digitalRead(f) == 0) { 19 Serial.print("w"); 20 21 } 22 else if(digitalRead(b) == 0) { 23 Serial.print("s"); 24 } 25 else 26 if(digitalRead(l) == 0) { 27 Serial.print("a"); 28 } 29 else if(digitalRead(r) 30 == 0) { 31 Serial.print("d"); 32 } 33} 34
Downloadable files
remote_controlled_bot_diagram_QtGucTNZuX.png
remote_controlled_bot_diagram_QtGucTNZuX.png

remote_controlled_bot_diagram_QtGucTNZuX.png
remote_controlled_bot_diagram_QtGucTNZuX.png

Comments
Only logged in users can leave comments