Neste tutorial iremos mostrar como fazer uma conexão básica de um Arduino Uno à internet pela rede Wireless através do Módulo WiFi ESP8266 - ESP-01 de forma simples, objetiva e de fácil entendimento. Para a execução deste tutorial recomenda-se que tenha os seguintes componentes em mãos:

          Você pode comprar todos os produtos com na nossa loja bastando apenas clicar nos links acima e você encontrará os produtos com o menor preço do mercado nacional ou você pode visitar todos os nossos produtos no link www.curtocircuito.com.br.


Circuito Elétrico

          Para melhor conhecimento, é necessário conhecer a pinagem do ESP01. Na imagem abaixo, você poderá ver melhor como funciona seus pino.

Pinagem ESP01


          Os pinos RST, CH_PD, GP100 e GP102 do ESP necessitam de uma alimentação 3,3V, com uma corrente elétrica de aproximadamente 300mA. Placas Arduino fornecem no máximo 50mA, sendo necessário uma fonte de alimentação externa. Existem diversos meios para se construir tal alimentação, porém uma das formas mais simples será utilizar um conversor AC/DC 9V. Observe que a fonte possui polaridade, por tanto verifique os polos atentamente antes de conectá-los ao Protoboard. O plug amarelo indica a tensão de saída da fonte, que pode ser ajustada entre 5V e 3,3V. Para este projeto será necessário ajustar a fonte em 3,3V, por tanto, conecte o plug amarelo abaixo do valor desejado.

Ligação Protoboard


          Lembre-se que o método de alimentação do circuito será algo opcional, desde que o usuário consiga fornecer a corrente elétrica necessária a uma tensão de 3,3V. 

          Para fazer a conexão com uma placa Arduino, você deve montar o circuito conforma a imagem abaixo.


Ligação ESP01 Arduino


          Encaixe um jumper entre uma das fileiras negativas do Protoboard e um GND do Arduino, conecte os fios RST, CH_PD, GP100 e GP102 a fileira positiva do Protoboard (lembre-se que tal fileira deve possuir uma tensão de 3,3V). Os pinos RX e TX serão simulados na programação através da função SoftwareSerial, então conecte tais pinos nas portas 2 e 3 do Arduino (ou altere tais valores na programação) e por fim, para alimentar o ESP, conecte o pino positivo a entrada 3,3V, e o negativo ao GND do Arduino. Em muitos exemplos, alguns usuários optam por aplicar resistores no pino RX como medida de segurança, pois os pinos digitais do Arduino fornecem uma tensão de aproximadamente 5V, caso queira aplicar tal proteção, adicione resistores de 1K e 2K ohm como mostra a imagem a seguir;

Proteção RX

 

          Para fazer o teste do circuito, copie o seguinte código na IDE do Arduino.

 

/* Projeto Curto Circuito – Módulo ESP01 - ESP8266 Modo AT */

#include <SoftwareSerial.h>
SoftwareSerial esp8266(2,3);  /* pino 2 TX , pino 3 RX */
void setup(){
Serial.begin(115200);         /* Opções para ajuste 9600, 19200, 57600 e */
esp8266.begin(115200);        /* 115200 dBs */
}
void loop(){
if(esp8266.available())       /* Confere se a comunicação está acessível */
{
while(esp8266.available()) {  /* Enquanto estiver acessível */
char c = esp8266.read();      /* Le o caractere. */
Serial.write(c);              /* Escreve no monitor serial */
}
}
if(Serial.available()){ 
delay(1000); 
String command="";
while(Serial.available()) {   /* Le o comando */
command+=(char)Serial.read();
}
esp8266.println(command);    /* Envia o comando para o ESP */
}
}

          Observação: O delay de 1000 milissegundos será necessário para que o Arduino consiga ler todos os caracteres escritos, pois se não houver esse pequeno intervalo a informação poderá ser perdida no meio do processo por causa da velocidade de leitura. Por exemplo: Ao enviar o comando AT+RST, se não houver um delay, haverá o risco de a placa ler somente o caractere A.

          Para configurar a placa, utilize os seguintes comandos:

 

Comando

Função

AT

Comando básico para teste de conexão

AT+RST

Reset do módulo. É usado sempre para aplicar as alterações realizadas.

AT+GMR

Leitura da versão do firmware

AT+CWMODE

Modo de operação do módulo.

1 = STA, 2 = Access Point e 3 = STA e Access Point

AT+CWJAP

Comando para conectar ao Access Point

AT+CIFSR

Retorna o IP do módulo

AT+CWLAP

Lista todos os Access Points acessíveis

AT+CWQAP

Desconecta do Access Point


          Para conectar ao Wi-Fi utilize o comando da seguinte forma: AT+CWJAP=”nome_da_rede”,”senha” (não remova as aspas). Substitua as mensagens entre aspas pelo nome da rede e a senha ao qual irá conectar o ESP.  Para desconectar do roteador utilize o comando  AT+CWQAP.

          Com isso você ja é capaz de conecetar o seu Arduino à internet através do módulo ESP01 de forma fácil, rápdia e segura. Nos próximos tutoriais, iremos fazer projetos que haja a necessidade de transmissão de dados via Internet com um Arduino e o ESP8266 de uma forma simples e rápida. Até a próxima!