Skip to content

Instantly share code, notes, and snippets.

@markiv25
Created May 15, 2020 09:13
Show Gist options
  • Save markiv25/3843e8406f82ba94b88dc51a7821921b to your computer and use it in GitHub Desktop.
Save markiv25/3843e8406f82ba94b88dc51a7821921b to your computer and use it in GitHub Desktop.
//#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