interfacing web server with a robot
Download
Report
Transcript interfacing web server with a robot
INTERFACING WEB SERVER WITH
A ROBOT
The ESP8266 is a MICROCONTROLLER from Chinese
manufacturer ESPRESSIF that includes Wi-Fi
capability. It comes with an inbuilt firmware which
supports serial interface and can be controlled using
AT commands.
In short the ESP8266 module is a “serial to wireless
internet” device.
FEATURES:
802.11 b/g/n protocol
Wi-Fi direct (P2P), soft-AP
Integrated TCP/IP protocol stack
Supports antenna diversity
Power down leakage current of < 10uA
WHY ESP8266?
HARDWARE CONNECTIONS
The ESP8266 requires 3.3V power–do
not power it with 5 volts!
The ESP8266 needs to communicate
via serial at 3.3V and does not have 5V
tolerant inputs, so you need level
conversion to communicate with a 5V
microcontroller like most Arduinos use.
When power is applied the red power
light turns on and the blue serial
indicator flickers frequently
BLOCK DIAGRAM
PIN CONFIGURATION
VCC AND GROUND CONNECTIONS
The outer hub of the breadboard is Vcc and the inner hub is
GND
LM 7805 PIN CONFIGURATION
LM 7805 CONNECTIONS
LM 7805 is a 5V voltage regulator which reduces any voltage below 32V to
5V
L293D PIN CONFIGURATION
L293D CONNECTIONS
Place L293D in such a way that the notch is facing towards the
right
Giving 5V to Vss makes the robot move slow when compared to
giving it 8V( in our case we have given 5V)
Pins 1,8,9,16 are connected to Vcc of the breadboard
Pins 4,5,12,13 are connected to GND of the breadboard
ARDUINO ATMEGA 16 PIN
CONFIGURATION
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 L293D
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
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,27and 28 of
the Arduino respectively
LM 35 PIN CONFIGURATION
LM35 is a temperature sensor
Connect the Vcc and GND to the breadboard and output pin to
the 29th pin of the Arduino
The LM35 gives analog output so we have connect it to the analog
pin of the Arduino
CREATING A SERVER USING
ESP8266
STEPS TO CONNECT THE ESP8266 Wi-Fi
MODULE
The Vcc (3.3V) of the ESP8266 is given to Vcc of the
breadboard.(The 8V of the breadboard is reduced to 3.3V by means
of a voltage regulator)
The Tx and Rx pins of the ESP8266 is connected to the Rx and Tx
pins of the Arduino
The GND pin of the ESP8266 is given to the GND of the breadboard
The RESET pin of ESP8266 should be connected to 3.3V
CHPD pin should be given to 3.3V
The ESP8266 can be wired and can be programmed by using the AT
commands. The wiring connections are shown
AT COMMANDS
ESP8266, in it’s default configuration, boots up into serial
modem mode. In this mode you can communicate with it using
a set of AT commands. A set of AT commands used in this
project is explained
Connect to the Wi-Fi network of the module.
In our case it is AI-THINKER_FBB24A
The AT command is used to check if the system and Wi-Fi
module are working correctly
The AT+RST command is used to reset the module
The AT+GMR command is used to know about the current firmware version
The AT+CIFSR command is used to return the local ip address
(192.168.1.4)
The AT+CWMODE command is used to enable both client and
server
the AT+CIPMUX command is used to enable multiple connections
The AT+CIPSERVER command is used to create a server
The AT+SIPSEND command is used to send messages
The message is displayed on the webpage
Thus the following AT commands used in programming the ESP8266 Wi-Fi
module can be understood better by a table format. The following AT
commands used for this project are shown.
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+SIPSEND command;
}
Add \r \n to the command inside Serial.write in order to send
command to the Wi-Fi module
\r \n denotes carriage return(enter)
For example to send the command “AT” use the command
Serial.write (“AT\r\n”)