Você está na página 1de 8

Iniciação ao Arduino

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.

Figura 01 – Placa do ESP01

São 8 pinos, confira a descrição de cada um deles:


- RXD e TXD: São os pinos para comunicação serial.
- GPIO0 e GPIO2: São os pinos de propósito geral.
- GND: Referência da alimentação.
- VCC: Sinal de alimentação positivo de 3.3V.
- RST: Pino de reset.
- CH_PD: Chip Power Down

2. INSTALAÇÃO DA BIBLIOTECA NO IDE ARDUINO


Entre na IDE do Arduino e clique em Arquivo -> Preferências:

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:

Utilize a barra de rolagem para encontrar o ESP8266 by ESP8266 Community e clique


em INSTALAR.

Após alguns minutos as placas da linha ESP8266 já estarão disponíveis na lista de


placas da IDE do Arduino.

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.

Figura – Adaptador com CI CH340

O sentido de conexão do módulo ESP8266 ESP-01, que deve ser encaixado no


adaptador conforme a figura:

Figura – Conexão ESP01 e o adaptador com CI CH340


Um drive deve ser instalado para a placa CH340:
https://sparks.gogo.co.nz/ch340.html

Para verificação de conexão na USB utiliza-se um terminal. Para download:


https://www.compuphase.com/software_termite.htm

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

4. No menu Ferramentas selecione BUILTIN LED 1

5. Faça o download, sem a conexão dos pinos GPIO0 e GND


6. Retire e recoloque a placa do ESP01 na USB para reiniciar, sem a conexão dos
pinos GPIO0 e GND

O LED azul na por GPIO0 deve ficar piscando.

sttechboni.weebly.com 4
Iniciação ao Arduino
3. Acionamento de uma carga por wifi com ESP01

3.1 Aspectos de Hardware


Vamos para a montagem do hardware. A lista de componentes é a seguinte:
- Módulo relé;
- ESP-01;
- LED;
- Resistor de 330 [Ω].

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

const char* ssid = "amtdsp"; //Nome da sua rede ssid


const char* password = "08877190"; //Senha do sua rede

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

// Conecta Rede wifi


Serial.println();
Serial.print("Conectando na rede: ");
Serial.println(ssid);
WiFi.begin(ssid, password);
delay(500);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}

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;
}

//Aguarda envio de dados pelo cliente


while (!client.available())
{
delay(1);
}

//LE a primeira linha da requisicao


String request = client.readStringUntil('\r');
client.flush();

//aciona a luminaria led de acordo com os dados recebidos


if (request.indexOf("/Carga=ON") != -1)
{
Serial.println(request);
digitalWrite(LoadPin, HIGH);

sttechboni.weebly.com 7
Iniciação ao Arduino
value = HIGH;
}

if (request.indexOf("/Carga=OFF") != -1)
{
Serial.println(request);
digitalWrite(LoadPin, LOW);
value = LOW;
}

//envia mensagem de resposta


client.println("HTTP/192.168.1.3 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("Status da carga: ");
if (value == HIGH)
{
client.print("On");
}
else
{
client.print("Off");
}

//Mensagem que aparece no site


client.println("<br><br>");

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

Você também pode gostar