INTERFACING WEB SERVER WITH A ROBOT. The ESP8266 is a MICROCONTROLLER from Chinese manufacturer...

Post on 31-Dec-2015

218 views 1 download

Tags:

Transcript of INTERFACING WEB SERVER WITH A ROBOT. The ESP8266 is a MICROCONTROLLER from Chinese manufacturer...

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 CONNECTIONSThe 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 CONNECTIONSLM 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.

ALGORITHMVoid 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”)