0% found this document useful (0 votes)
18 views7 pages

T 1

This document defines pin assignments and functions to control the speed and direction of motors on a robot. It sets up an WiFi access point and web server to receive commands to move the robot forward, backward, left, right, or stop the motors.

Uploaded by

tipsntricks25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views7 pages

T 1

This document defines pin assignments and functions to control the speed and direction of motors on a robot. It sets up an WiFi access point and web server to receive commands to move the robot forward, backward, left, right, or stop the motors.

Uploaded by

tipsntricks25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 7

//for Right side Moterdriver

#define R_EN_Right 16 // GPIO16(D0)

#define L_EN_Right 05 //GPIO05(D1)

#define R_pwm_Right 04 // GPIO04(D2)

#define L_pwm_Right 00 // GPIO00(D3)

// for left side moterdriver


#define R_EN_Left 14 // GPIO14(D5)

#define L_EN_Left 12 // GPIO12(D6)

#define R_pwm_Left 13 // GPIO13(D7)

#define L_pwm_Left 15 // GPIO15(D8)

#include <ESP8266WiFi.h>

#include <WiFiClient.h>

#include <ESP8266WebServer.h>

String command; //String to store app command state.

int speedCar = 80; // 400 - 1023.

int speed_Coeff = 3;

const char* ssid = "XXXXXXXXXXX"; //SSID Name

ESP8266WebServer server(80);

void setup() {

pinMode(R_EN_Right, OUTPUT);

pinMode(L_EN_Right, OUTPUT);

pinMode(R_pwm_Right, OUTPUT);

pinMode(L_pwm_Right, OUTPUT);

pinMode(R_EN_Left, OUTPUT);

pinMode(L_EN_Left, OUTPUT);

pinMode (L_pwm_Left,OUTPUT);
pinMode (R_pwm_Left,OUTPUT);

Serial.begin(115200);

// Connecting WiFi

WiFi.mode(WIFI_AP);

WiFi.softAP(ssid);

IPAddress myIP = WiFi.softAPIP();

Serial.print("AP IP address: ");

Serial.println(myIP);

// Starting WEB-server

server.on ( "/", HTTP_handleRoot );

server.onNotFound ( HTTP_handleRoot );

server.begin();

void goAhead(){

analogWrite(R_pwm_Right,speedCar);
analogWrite(L_pwm_Right,0);
analogWrite(R_pwm_Left,speedCar);
analogWrite(L_pwm_Left,0);
}

void goBack(){

analogWrite(R_pwm_Right,0);
analogWrite(L_pwm_Right,speedCar);
analogWrite(R_pwm_Left,0);
analogWrite(L_pwm_Left,speedCar);

}
void goRight(){

analogWrite(R_pwm_Right,0);
analogWrite(L_pwm_Right,speedCar);
analogWrite(R_pwm_Left,speedCar);
analogWrite(L_pwm_Left,0);

void goLeft(){

analogWrite(R_pwm_Right,speedCar);
analogWrite(L_pwm_Right,0);
analogWrite(R_pwm_Left,0);
analogWrite(L_pwm_Left,speedCar);

void goAheadRight(){

analogWrite(R_pwm_Right,0);
analogWrite(L_pwm_Right,(speedCar/speed_Coeff));
analogWrite(R_pwm_Left,speedCar);
analogWrite(L_pwm_Left,0);

/*
digitalWrite(IN_1, LOW);

digitalWrite(IN_2, HIGH);

analogWrite(ENA, speedCar/speed_Coeff);

digitalWrite(IN_3, LOW);

digitalWrite(IN_4, HIGH);

analogWrite(ENB, speedCar);
*/

void goAheadLeft(){
analogWrite(R_pwm_Right,speedCar);
analogWrite(L_pwm_Right,0);
analogWrite(R_pwm_Left,0);
analogWrite(L_pwm_Left,speedCar/speed_Coeff);

/* digitalWrite(IN_1, LOW);

digitalWrite(IN_2, HIGH);

analogWrite(ENA, speedCar);

digitalWrite(IN_3, LOW);

digitalWrite(IN_4, HIGH);

analogWrite(ENB, speedCar/speed_Coeff);
*/

void goBackRight(){

analogWrite(R_pwm_Right,0);
analogWrite(L_pwm_Right,(speedCar/speed_Coeff));
analogWrite(R_pwm_Left,0);
analogWrite(L_pwm_Left,speedCar);

/* digitalWrite(IN_1, HIGH);

digitalWrite(IN_2, LOW);

analogWrite(ENA, speedCar/speed_Coeff);

digitalWrite(IN_3, HIGH);

digitalWrite(IN_4, LOW);

analogWrite(ENB, speedCar);
*/
}

void goBackLeft(){
analogWrite(R_pwm_Right,0);
analogWrite(L_pwm_Right,speedCar);
analogWrite(R_pwm_Left,0);
analogWrite(L_pwm_Left,(speedCar/speed_Coeff));

/*
digitalWrite(IN_1, HIGH);

digitalWrite(IN_2, LOW);

analogWrite(ENA, speedCar);

digitalWrite(IN_3, HIGH);

digitalWrite(IN_4, LOW);

analogWrite(ENB, speedCar/speed_Coeff);
*/
}

void stopRobot(){

analogWrite(R_pwm_Right,0);
analogWrite(L_pwm_Right,0);
analogWrite(R_pwm_Left,0);
analogWrite(L_pwm_Left,0);

/*
digitalWrite(IN_1, LOW);

digitalWrite(IN_2, LOW);

analogWrite(ENA, speedCar);

digitalWrite(IN_3, LOW);

digitalWrite(IN_4, LOW);

analogWrite(ENB, speedCar);
*/

}
/* void attack_on(){
digitalWrite(IN_5,HIGH);
digitalWrite(IN_6,LOW);
}

void attack_off(){
digitalWrite(IN_5,LOW);
digitalWrite(IN_6,LOW);
}
*/

void loop() {

server.handleClient();

digitalWrite(R_EN_Right, HIGH);
digitalWrite(L_EN_Right, HIGH);
digitalWrite(R_EN_Left, HIGH);
digitalWrite(L_EN_Left, HIGH);

command = server.arg("State");

if (command == "F") goAhead();

else if (command == "B") goBack();

else if (command == "L") goLeft();

else if (command == "R") goRight();

else if (command == "I") goAheadRight();

else if (command == "G") goAheadLeft();

else if (command == "J") goBackRight();

else if (command == "H") goBackLeft();


// else if (command == "W") attack_on();

// else if (command == "w") attack_off();

else if (command == "0") speedCar = 400;

else if (command == "1") speedCar = 470;

else if (command == "2") speedCar = 540;

else if (command == "3") speedCar = 610;

else if (command == "4") speedCar = 680;

else if (command == "5") speedCar = 750;

else if (command == "6") speedCar = 820;

else if (command == "7") speedCar = 890;

else if (command == "8") speedCar = 960;

else if (command == "9") speedCar = 1023;


else if (command == "S") stopRobot();

void HTTP_handleRoot(void) {

if( server.hasArg("State") ){

Serial.println(server.arg("State"));

server.send ( 200, "text/html", "" );

delay(1);

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy