Video of the robot interfaced with a web-server:

WiFi Module – ESP8266:

The ESP8266 is a Micro-controller with WiFi capabilities. It has an inbuilt pre-programmed firmware which supports serial interface and can be controlled using AT commands. In short, the ESP8266 module is a “serial to wireless internet” device.

The ESP8266 WiFi Module is a self contained SOC (System on Chip) with integrated TCP/IP protocol stack that can give any micro-controller access to your WiFi network.

This module has a powerful on-board processing and storage capability that allows it to be integrated with sensors.

The ESP8266 Module is not capable of 5-3 V logic shifting and will require an external Logic Level Converter. Please do not power it directly from your 5 V device board.

Features:

802.11 b/g/n
WiFi Direct ( P2P ), soft-AP
Integrated TCP/IP protocol stack
Integrated TR switch, Balun, LNA, power amplifier and matching network
Integrated PLLs, Regulators, DCXO and power management units
+19.5 dBm output power in 802.11b mode
Power down leakage current of <10 uA
1 MB Flash Memory
Integrated low power 32-bit CPU could be used as application processor
SDIO 1.1 / 2.0, SPI, UART
STBC, 1*1 MIMO, 2*1 MIMO
A-MPDU & A-MSDU aggregation & 0.4 ms guard interval
Wake up and transmit packets in < 2 ms
Standby power consumption of < 1.0 mW (DTIM3)

Step by step instructions & connections:

Vcc and ground connections:  The outer hub of the breadboard is Vcc and the inner hub is Gnd.

1

LM 7805 connections: LM 7805 is a 5 V voltage regulator which reduces any voltage below   32 V to 5 V

2

 

 

 

 

 

 

L293D CONNECTIONS:3

  • Place L293D in such a way that the notch is facing towards the right
  • Giving 5 V to Vs makes the robot move slow when compared to giving it 8 V ( in our case we have given 5 V)
  • Pins 1,8,9,16 are connected to Vcc of the breadboard
  • Pins 4,5,12,13 are connected to Gnd of the breadboard4

Arduino ATmega16 connections: 

  • Pin 9 of the Arduino is given to Vcc and pin 10 to the Gnd of the breadboard
  • Place the Arduino such that its notch is facing the notch of L293D5

INTERFACING L293D WITH ARDUINO :

  • Connect the pins 0 and 1 of the Arduino to the pins 15 and 10 of the L293D
  • Connect the pins 24 and 25 of Arduino to the pins 2 and 7 of L293D

6

Motor connections

  • Connect the left motor pins to the pins 11 and 14 of L293D
  • Connect the right motor pins to the pins 3 and 6 of L293D

IR SENSOR CONNECTIONS

  • Connect the Left, Centre and Right sensors to pins 26, 27 and 28 of the Arduino respectively

LM 35 Pin Configuration:

7

  • LM 35 is a temperature sensor
  • Connect the Vcc and Gnd to the breadboard and output pin to the 29th pin of the Arduino
  • The LM 35 gives analog output so we have connected it to the analog pin of the Arduino

ESP8266 WiFi module pin out:

pin out

Steps to Connect the ESP8266 WiFi Module:

  • The Vcc (3.3 V) of the ESP8266 is given to Vcc of the breadboard.(The 8 V of the breadboard is reduced to 3.3 V by means of a voltage regulator)
  • The Tx and Rx pins of the ESP8266 are connected to the Rx and Tx pins of the Arduino respectively
  • The Gnd pin of the ESP8266 is given to the Gnd of the breadboard
  • The RESET pin of ESP8266 is connected to 3.3 V
  • CHPD pin is given to 3.3 V

AT Commands:

ESP8266 by default boots up into serial modem mode. In this mode you can communicate with it using a set of AT commands. The set of AT commands used in this project is explained below:

AT commands used in programming the ESP8266 WiFi module:

(1) Connect to the WiFi network of the module. In our case it is AI-THINKER_FBB24A

8

(2)  The AT command is used to check if the system and WiFi module are working correctly

9

(3) The AT+RST command is to reset the module

10

(4) The AT+GMR command is to know about the current firmware version

11

(5) The AT+CIFSR command is to return the local ip address (192.168.1.4)

12

(6) The AT+CWMODE command is used to enable both client and server

13

(7) The AT+CIPMUX command is used to enable multiple connections

14

(8) The AT+CIPSERVER command is to create a server

15

(9) The AT+CIPSEND command is used to send messages

16

(10) The message is displayed on the webpage

17

The AT commands used in programming the ESP8266 WiFi module can be understood better by a tabular column.

The AT commands used in this project are shown.

18

Algorithm:

void setup()
{
initialize input and output pins;
reset ESP8266;
set mode as 3;
enable multiple connections;
enable server;
}

void loop()
{
wait for GET request;
Check for obstacles;
Do the necessary actions;
Measure temperature using LM35;
send message to the server using AT+CIPSEND command;
}

1
Hello,
How we can help you today?
Powered by
Share This