Arduino - Aula 19 - Arduino Uno com ESP01 / ESP8266

O objetivo desta aula é fazer a conexão do ESP8266 (modelo ESP01) com o Arduino UNO. Com essa configuração temos a conexão do Arduino a uma rede Wi-Fi de forma simples e barata.


Instalação do drive do ESP8266 no Arduino IDE: 
  1. Faça o download do IDE do Arduino.
  2. Abra seu IDE e clique em "Arquivo -> Preferências".
  3. Em "URLs do Aditional Boards Manager", adicione esta linha e clique em "OK": "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  4. Vá em "Ferramentas ->Placa-> Gerenciador de placas", digite "ESP8266" e instale-o.
  5. Vá novamente para "Ferramentas -> Placa" e selecione "Módulo ESP8266 genérico".

A Placa ESP01


O Projeto



Código Básico (acesso básico a uma rede Wi-Fi)

#include <ESP8266WiFi.h>    

const char* ssid     = "****";         // Nome da rede Wi-Fi

const char* password = "*****";     // Senha da rede Wi-Fi

void setup() {

  Serial.begin(115200);       //velocidade de comunicação do monitor serial
  delay(10);
  Serial.println('\n');
  
  WiFi.begin(ssid, password);           
  Serial.print("Connecting to ");
  Serial.print(ssid); Serial.println(" ...");

  int i = 0;

  while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect
    delay(1000);
    Serial.print(++i); Serial.print(' ');
  }

  Serial.println('\n');

  Serial.println("Connection established!");  
  Serial.print("IP address:\t");
  Serial.println(WiFi.localIP());         // Send the IP address of the ESP8266 to the computer
}

void loop() { }



Sequência para Flash (carregar código no ESP01)

  1. Conectar pino Reset do Arduino em GND (ou retirar o micro-controlador)
  2. Conectar TX do Arduino com TX do ESP01
  3. Conectar RX do Arduino com RX do ESP01
  4. Conectar GPIO 0 em GND
  5. Conectar CH_PD em 3,3 V
  6. Conectar VCC em 3,3 V do Arduino
Atenção: é comum falhar o carregamento do programa no ESP01. Muitas vezes somente na terceira ou quarta vez é que ele é carregado. Apertar o reset no inicio do processo.


Após Flash
  1. Desconectar pino GPIO 0 do GND
  2. Apertar Reset no ESP01
  3. Abrir o monitor serial e esperar mensagens de conexão e número do IP (abaixo)
  4. A velocidade da serial deve ser 115200
  5. O LED azul piscará
  6. Quando conectado somente o LED vermelho permanecerá aceso.
Monitor Serial: conexão estabelecida


Sequência para comunicação entre o ESP01 e o Arduino UNO
  1. Desconectar pino Reset do Arduino
  2. Conectar RX do Arduino com TX do ESP01
  3. Conectar TX do Arduino com RX do ESP01
(Atenção: o código de comunicação entre o ESP01 e o Arduino UNO não está implementado no código acima)


Configuração da ESP8266 Generic:

  1. Placa: 'Generic ESP8266 Module'
  2. Flash Mode: 'DIO'
  3. Flash Frequency: '40MHz'
  4. CPU Frequency: '80 MHz'
  5. Flash Size: '512K (64K SPIFFS)'
  6. Debug Port: 'Disabled'
  7. Debug Level: 'None'
  8. Reset Method: 'ck'
  9. Upload Speed: '115200'


Vídeos recomendados: