Escolar Documentos
Profissional Documentos
Cultura Documentos
1. ESP8266 – ESP01
O ESP8266 ESP-01 é um módulo Wi-Fi que permite que os microcontroladores
acessem uma rede wireless. Este módulo é um SOC (System On a Chip) independente que não
precisa necessariamente de um microcontrolador.
Dependendo da versão do ESP8266, é possível ter até 9 GPIOs (General Purpose Input
Output). Assim, podemos fornecer um acesso à Internet por um microcontrolador ou podemos
simplesmente programar o ESP8266 para não apenas ter acesso a uma rede Wi-Fi, mas também
para atuar como um microcontrolador. A figura 01 apresenta a placa do ESP01.
sttechboni.weebly.com 1
Iniciação ao Arduino
Na tela seguinte, digite o seguinte link no campo URLs adicionais de Gerenciadores de
Placas:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
A sua tela ficará assim:
Clique em OK para retornar à tela principal da IDE. Agora clique em Ferramentas ->
Placa -> Gerenciador de Placas:
sttechboni.weebly.com 2
Iniciação ao Arduino
Para gravar o ESP01 é necessário um adaptador que tem um conector USB para que o
conecte diretamente ao computador. Um chip CH340 cuida de todo o processo de conversão
USB-Serial, e o adaptador possui um capacitor de 1000µF para evitar problemas na alimentação
do ESP8266. A figura mostra esse adaptador.
sttechboni.weebly.com 3
Iniciação ao Arduino
Para a transmissão de um programa para ESP01 deve-se seguir os seguintes passos:
1. Conectar a placa na USB como a conexão do pino GPIO0 ao GND;
2. Retire essa conexão;
3. No menu Arquivo, selecione Exemplos > 01.Basics > Blink
sttechboni.weebly.com 4
Iniciação ao Arduino
3. Acionamento de uma carga por wifi com ESP01
Note que não nenhum Arduino ou outra placa de processamento, somente o ESP-01.
Usamos o seu GPIO02 para comandar o LED, sem a necessidade de circuitos de processamento
adicionais.
Para o circuito de acionamento, é necessário que o ESP já esteja com o software
embarcado.
Os pontos importantes a serem lembrados são:
Caso o pino RXD esteja conectado a um TXD de 5 [V], é necessário usar um conversor
de nível lógico ou um divisor de tensão. Alguns projetos na internet não fazem essa conversão,
mas o risco de prejuízo é sempre seu. O correto é sempre usar os níveis lógicos adequados para
cada circuito.
Recomenda-se o uso de uma fonte externa para alimentá-lo. Usar o 3.3 [V] de um
Arduino, por exemplo, como fonte de alimentação, não é uma boa opção, pois o ESP facilmente
consome mais corrente do que o Arduino pode fornecer.
sttechboni.weebly.com 5
Iniciação ao Arduino
3.2 Aspectos de software
Quanto ao programa, dois pontos são importantes de serem destacados. O primeiro é
que será utilizada a biblioteca ESP8266WiFi.h. E segundo, é preciso a instalação na sua IDE
arduino os pacotes referentes ao ESP8266. A IDE Arduino será usada apenas como ferramenta
de programação.
O programa:
#include <ESP8266WiFi.h> // Biblioteca
#define LoadPin 2 // GPIO2
IPAddress staticIP(192,168,1,3);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
WiFiServer server(80); //Porta de serviço
int value = LOW;
void setup()
{
Serial.begin(9600); //Velocidade da serial
delay(10); // Tempo de retardo
pinMode(LoadPin, OUTPUT); // Define pino GPIO02 como saida
digitalWrite(LoadPin, LOW); // Inicia com valor lógico 0
sttechboni.weebly.com 6
Iniciação ao Arduino
Serial.println("");
Serial.println("Conectado!");
//Inicializa o servidor
server.begin();
Serial.println("Servidor Inicializado");
// Imprime o endereco IP
Serial.print("Utilize essa URL: 192.168.1.3 ");
Serial.print("http://gdresp01");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop()
{
// Verifica se o cliente está conectado
WiFiClient client = server.available();
if (!client)
{
return;
}
sttechboni.weebly.com 7
Iniciação ao Arduino
value = HIGH;
}
if (request.indexOf("/Carga=OFF") != -1)
{
Serial.println(request);
digitalWrite(LoadPin, LOW);
value = LOW;
}
client.println("Clique<ahref=\"/Carga=ON\">here</a>paraligar<br><br><br>");
client.println("Clique <a href=\"/Carga=OFF\"> here</a> para desligar<br>");
client.println("</html>");
delay(1);
Serial.println("");
}
sttechboni.weebly.com 8