Isso me veio como uma dúvida enquanto utilizava um NodeMCU ESP8266 como plataforma para um “bot” no meu canal da Twitch (por acaso chama-se @JeyLAB_Robotica, pra você seguir lá). Porém, parece-me um tremendo desperdício utilizar algo tão robusto “apenas” para controlar alguns relés.
Logo me veio a ideia de utilizar o ESP-01. Pequeno, barato e que dá conta do recado! Maaaaaas… o danado não tem um conector USB, sendo necessário utilizar algum meio de conectá-lo ao computador para podermos programar, como um adaptador USB Serial TTL (que eu não tinha no momento).
Lembrei que já fiz isso com o Arduino Pro Mini, utilizando o .
Por que não funcionaria com o Módulo ESP8266 ESP-01?!
Então, vamos fazer isso!
Não utilizamos o adaptador TTL, mas recomendo que o adquira e use.
Um módulo que irá permitir conectar seu ESP8266-01 à porta USB de um computador para alimentá-lo e programá-lo.
Será necessário:
ATENÇÃO: O ESP-01 funciona com 3.3V. Ligá-lo em 5V é pedir para sentir cheiro de Ampère queimado.
Ainda bem que temos uma porta com saída de 3.3V no próprio Arduino UNO.
Devo falar também que utilizei um arduino SEM o seu microcontrolador, o ATMEGA328P-PU, que é aquele chipezão comprido cheio de “perninhas”.
Mas não testei se COM ele funciona e nem quero testar agora. 🙂
- Arduino UNO sem o mcu ATMEGA328
- Módulo ESP8266 - ESP-01
- Cabo USB tipo B para o Arduino UNO (comum)
- 6 jumpers (fios) Macho - Fêmea
- 1 ou 2 jumpers (fios) Macho - Macho
- 1 Protoboard (pode ser a mini)
- 6 resistores de 1KΩ (talvez não use)
- OU 2 resistores de 1KΩ + 2 resistores de 2KΩ
Neste artigo conhecemos mais sobre o ESP-01 e suas GPIOs
No artigo acima mostramos com mais detalhes os passos para entrar no modo de programação e upload do código para o ESP8266-01. Mas, resumindo aqui…
Passo 1 – Montar o circuito elétrico conectando os pinos de tensão e comunicação do Arduino ao ESP8266-01.
Passo 2 – Com a programação feita, ligar o arduino ao computador pelo cabo USB.
Passo 3 – Colocar o ESP8266-01 em modo programação, conectando a GPIO0 ao GND.
Passo 4 – Iniciar o upload do código e dar um reset no ESP8266-01 contatando o RST ao GND e removendo-o logo em seguida.
Vamos ao circuito
Lembrando que este circuito está sem o divisor de tensão pro RX e TX. Funcionou para mim, mas o aconselhado é utilizar COM o divisor de tensão mostrado mais à frente.
ARDUINO < – – – – > ESP8266-01
3.3V < – – – – – – – – > VCC
GND < – – – – – – – – > GND
TX < – – – – – – – – – > TXD
RX < – – – – – – – – – > RXD
3.3V < – – – – – – – – > EN (CH_PD)
Antes de fazer o upload do código, conecte a GPIO 0 (zero) ao GND. Assim o ESP8266-01 entrará no modo programação.
Permanecerá em nível baixo até o final do upload.
GND < – – – – – – – – > IO_0
De forma parecida, faremos com o Reset. Porém, é como um pulso, um tocar de campainha. Apenas conectaremos o RST ao GND e retiramos logo em seguida. Cerca de 1 segundo em GND será suficiente.
GND < – – – – – – – – > RST
O uso prolongado sem o divisor de tensão poderá diminuir a vida útil do dispositivo ou mesmo levá-lo à perda.
Agora, um exemplo com divisor de tensão. Porém, algumas pessoas relatam dificuldades em fazer o upload.
O resistor conectado ao GND é 2x o valor do segundo resistor. Ou seja, se o resistor conectado à trilha do GND for de 2KΩ (vermelho, preto, vermelho e dourado) o segundo será de 1KΩ (marrom, preto, vermelho e dourado).