Created
May 15, 2020 09:13
-
-
Save markiv25/3843e8406f82ba94b88dc51a7821921b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//#include <ESP8266WiFi.h> | |
#include <AsyncUDP.h> | |
#include<WiFi.h> | |
const char* ssid = "Markiv"; | |
const char* password = "87654321"; | |
char data[200] ={}; | |
int packetsize = 0; | |
String receiveddata=""; | |
AsyncUDP udp; | |
IPAddress ip; | |
WiFiUDP Server; | |
#define m1 4 | |
#define m2 16 | |
#define m3 17 | |
#define m4 5 | |
#define r 32 | |
void initOutputs() { | |
pinMode(m1,OUTPUT); | |
pinMode(m2,OUTPUT); | |
pinMode(m3,OUTPUT); | |
pinMode(m4,OUTPUT); | |
} | |
void moveForwards() { | |
Serial.println("Forward"); | |
digitalWrite(m1,1024); | |
digitalWrite(m2,0); | |
digitalWrite(m3,1024); | |
digitalWrite(m4,0); | |
} | |
void moveBackwards() { | |
Serial.println("Backwards"); | |
digitalWrite(m1,0); | |
digitalWrite(m2,1024); | |
digitalWrite(m3,0); | |
digitalWrite(m4,1024); | |
} | |
void turnRight() { | |
Serial.println("Hard Right"); | |
digitalWrite(m1,1024); | |
digitalWrite(m2,0); | |
digitalWrite(m3,0); | |
digitalWrite(m4,1024); | |
} | |
void turnLeft() { | |
Serial.println("Hard Left"); | |
digitalWrite(m1,0); | |
digitalWrite(m2,1024); | |
digitalWrite(m3,1024); | |
digitalWrite(m4,0); | |
} | |
void softLeftF() | |
{ | |
Serial.println("Soft Left F"); | |
digitalWrite(m1,0); | |
digitalWrite(m2,0); | |
digitalWrite(m3,1024); | |
digitalWrite(m4,0); | |
} | |
void softLeftB() | |
{ | |
Serial.println("Soft left B"); | |
digitalWrite(m1,0); | |
digitalWrite(m2,0); | |
digitalWrite(m3,0); | |
digitalWrite(m4,1024); | |
} | |
void softRightF() | |
{ | |
Serial.println("Soft Right F"); | |
digitalWrite(m1,1024); | |
digitalWrite(m2,0); | |
digitalWrite(m3,0); | |
digitalWrite(m4,0); | |
} | |
void softRightB() | |
{ | |
Serial.println("Soft Right B"); | |
digitalWrite(m1,0); | |
digitalWrite(m2,1024); | |
digitalWrite(m3,0); | |
digitalWrite(m4,0); | |
} | |
void resetEngine() { | |
Serial.println("reset e"); | |
digitalWrite(m1,0); | |
digitalWrite(m2,0); | |
digitalWrite(m3,0); | |
digitalWrite(m4,0); | |
} | |
void relay() { | |
Serial.println("relay"); | |
digitalWrite(r,HIGH); | |
} | |
void setup() { | |
Serial.begin(115200); | |
initOutputs(); | |
connectWifi(); | |
//setup AP | |
// WiFi.mode(WIFI_AP); | |
// WiFi.softAP(ssid,pw,11); | |
// WiFi.begin(); | |
// Serial.println("AP started at: "); | |
// Serial.print(WiFi.softAPIP()); | |
// Server.begin(1111); | |
// Serial.println("Server started..."); | |
// | |
} | |
void connectWifi() { | |
Serial.println(); | |
Serial.println(); | |
Serial.print("Connecting.."); | |
WiFi.begin(ssid, password); | |
while (WiFi.status() != WL_CONNECTED) | |
{ | |
delay(500); | |
Serial.print("."); | |
} | |
Serial.println("WiFi connected"); | |
ip = WiFi.localIP(); | |
Serial.println(ip); | |
} | |
void handleInput(String x) { | |
if(x.equals("Forward")) { | |
//logic for forward | |
moveForwards(); | |
} | |
else if(x.equals("softLeftF")) { | |
//logic for soft left forward | |
softLeftF(); | |
} | |
else if(x.equals("softRightF")) { | |
//logic for soft right forward | |
softRightF(); | |
} | |
else if(x.equals("Backward")) { | |
//logic for backward | |
moveBackwards(); | |
} | |
else if(x.equals("softLeftB")) { | |
//logic for soft left backward | |
softLeftB(); | |
} | |
else if(x.equals("softRightB")) { | |
//logic for soft right backward | |
softRightB(); | |
} | |
else if(x.equals("hardRight")) { | |
//logic for hard right | |
turnRight(); | |
} | |
else if(x.equals("hardLeft")) { | |
//logic for hard left | |
turnLeft(); | |
} | |
else if(x.equals("Reset")) { | |
//logic for reset engine | |
resetEngine(); | |
} else if(x.equals("Relay")) { | |
//logic for reset engine | |
relay(); | |
} | |
} | |
void loop() { | |
if (udp.listen(1111)) { | |
udp.onPacket([](AsyncUDPPacket packet) { | |
Serial.write(packet.data(), packet.length()); | |
Serial.println(); | |
String receiveddata = (const char*)packet.data(); | |
handleInput(receiveddata); | |
receiveddata=""; | |
}); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment