Gravando o ESP8266-01 na IDE Arduino - Embarcados
Os módulos ESP8266 são muito poderosos e bem conhecidos dos profissionais e hobistas da área de eletrônica. Hoje vamos falar sobre o módulo mais básico dessa família, o ESP8266-01, e como podemos desenvolver firmware para ele fazendo upload direto da IDE do Arduino.
Para utilizarmos o ESP8266 na IDE do Arduino é necessário que o pacote do módulo esteja instalado. Na versão atual da IDE (1.6.12) o pacote já vem instalado, nas versões anteriores (a partir da versão 1.6.4) este pacote pode ser instalado manualmente. Caso precise fazer essa instalação basta seguir esses passos bem simples:
Ir em Arquivo/Preferências e no campo "URLs Adicionais de Gerenciamento de Placas" inserir o link do pacote ESP8266, depois clique em OK.
Ir em Ferramentas/Placa:/Gerenciador de Placas. Procure pelo pacote do ESP8266 e instale.
Em Ferramentas/Placa agora devem aparecer várias versões dos módulos ESP.
Para fazer a comunicação com o módulo precisaremos de um conversor USB-Serial, eu irei utilizar o conversor que usa o chip FT232R da FTDI.
Pode ser necessário fazer a compatibilização de tensão de 5V para 3,3V, mais a frente daremos opções de como fazer isso e os itens necessários.
Para iniciar o ESP8266-01 em modo de programação pela serial iremos precisar de ao menos 2 botões e 3 resistores de 10KR.
Com o pacote instalado, devemos ir em Ferramentas/Placa: e selecionar o primeiro item "Generic ESP8266 Module".
Volte em ferramentas e verifique se a configuração está como na imagem a seguir. Se não estiver, configure os campos que estiverem diferentes. Você deverá escolher a porta correspondente ao conversor USB-Serial que irá usar.
Figura 1 – Configuração do módulo ESP8266-01 na IDE Arduino
Vamos fazer o upload do exemplo Blink do ESP8266 para fazer a demostração. Para isso vamos em Arquivo/Exemplos/ESP8266/Blink.
Figura 2 – Exemplo de Blink led usando ESP8266.
Este exemplo deverá piscar o led azul do módulo ESP8266-01 que é ligado ao GPIO1 (compartilhado com o pino TX da serial).
Para fazer o upload do exemplo para o módulo é importante que tenhamos comunicação serial entre a IDE e o módulo e que o módulo esteja em modo de programação pela serial.
Para fazer a comunicação utilizamos um conversor USB-Serial FT232. A grande vantagem de utilizar este conversor é que ele tem um regulador interno de 3,3V, o que possibilita alimentarmos o ESP a partir dele e elimina a necessidade de um conversor de nível para a linha serial (5V – 3,3V). Para fazer com que o conversor funcione com 3,3V existe na placa um jumper para configuração. É muito importante checar esse jumper antes de iniciar as ligações.
Figura 3 – Módulo FT232 e detalhe de jumper e saída de 3,3V.
Neste momento é importante reforçarmos que o módulo ESP funciona com 3,3V, portanto, a ligação de 5V em seus pinos de alimentação, IOs ou serial pode danifica-lo permanentemente.
Além da comunicação, precisamos colocar o módulo em modo de programação serial, fazemos isso reiniciando o módulo com o GPIO0 em nível baixo. Para isso precisamos de dois botões, um para o reset e outro para o GPIO0 (o reset também é acionado em nível baixo), e alguns resistores para usar como pull up.
Abaixo segue o circuito utilizado para fazer a gravação do ESP-01.
Figura 4 – Ligação do FT232 com o ESP-01.
É possível utilizar outro conversor USB-Serial para fazer a gravação, para isso será necessário usar um regulador de tensão para 3,3V para alimentar o ESP, podemos utilizar o regulador LM1117-3,3. Para a comunicação serial, devemos fazer a conversão do nível que vem do pino TX do conversor para o RX do ESP, podemos utilizar um conversor de nível lógico ou um simples divisor resistivo.
Abaixo vemos o esquema de montagem para gravação do ESP-01 usando um outro conversor USB-Serial. Utilizamos o LM1117-3,3 como regulador e dois resistores (180R e 330R) ligados à linha TX do conversor fazendo o divisor resistivo.
Figura 5 – Ligação de conversor USB-Serial com ESP-01 e regulador LM1117.
Com o circuito montado e devidamente testado, voltamos a IDE do Arduino. Com o Blink aberto, mantemos pressionado o botão correspondente ao GPIO0 e damos um pulso no botão correspondente ao reset do ESP-01.
Devemos perceber que o led azul do ESP-01 pisca, neste momento ele está em modo programação via serial, podemos soltar o botão do GPIO0.
Na IDE, mandamos fazer o upload de firmware e aguardamos o termino da gravação.
Figura 6 – IDE Arduino fazendo o upload de firmware do ESP-01.
Se tudo correu bem, devemos ver o módulo ESP8266-01 piscando o led azul.
Figura 7 – Blink no ESP8266-01 pelo Arduino IDE.
Neste artigo vimos como utilizar a IDE do Arduino para programar o ESP8266-01 e como gravar o módulo pela própria IDE. Agora você já tem a ferramenta para criar seus códigos direto no ESP. Oque pretende fazer com ela? Deixe seu comentário falando sobre seus projetos e ideias com o ESP-01. Grande abraço e até a próxima.