Praticamente todo mundo já ouviu falar do ESP8266, um chip voltado para aplicações envolvendo rede wifi. Os módulos que usam o ESP8266 se popularizaram rapidamente e hoje temos vários modelos como o NodeMCU, ESP-01, ESP-07 e por aí vai. Hoje vamos ver como programar o sucessor do ESP8266, o módulo ESP32 usando IDE Arduino.
Veremos abaixo que o ESP32 é um módulo poderoso, possuindo wifi e bluetooth embutidos. Como o ESP8266, deve ganhar muitas variações, e já existem no mercado módulos ESP32 com display oled embutido, por exemplo. Pela sua capacidade, podemos esperar muitas novidades em breve.
O módulo ESP32
O ESP32 é um componente de baixo custo e alta performance, que se caracteriza por ser um SOC (System on a Chip) contendo microcontrolador, wifi e bluetooth BLEintegrados. O ESP32 foi desenvolvido pela Espressif Systems e tem configurações bem interessantes:
- CPU: Microprocessador Xtensa dual-core (or single-core) 32-bit LX6 microprocessor, operating at 160 or 240 MHz and performing at up to 600 DMIPS
- Ultra low power (ULP) co-processor
- Memory: 520 KiB SRAM
- Wi-Fi: 802.11 b/g/n/e/i
- Bluetooth: v4.2 BR/EDR and BLE
- 12-bit SAR ADC up to 18 channels
- 2 × 8-bit DACs
- 4 × SPI
- 2 × I2S interfaces
- 2 × I2C interfaces
- 3 × UART
- Wake up from GPIO interrupt, timer, ADC measurements, capacitive touch sensor interrupt
E esses são só alguns dados. Uma lista completa das características do ESP32 você encontra no datasheet do componente.
Falando especificamente do módulo ESP32, este que vamos usar é semelhante (fisicamente) ao já conhecido ESP8266 NodeMCU ESP-12, um módulo muito popular da linha ESP8266.
Como o NodeMCU, o módulo ESP32 tem um conector micro USB para alimentação e programação, botões RST e BOOT, além de um regulador de tensão. A memória é de 4MB e no módulo que estou testando o conversor serial USB-TTL é o CP2102.
Programando o ESP32 com IDE Arduino
Vamos testar o ESP32 executando o famoso “blink led” (piscar o led, em bom português). O programa em si é o que menos importa, já que configurar a IDE do Arduino para programar o ESP32 requer uma certa dose de atenção para que nada saia errado.
Vamos então aos passos, lembrando que estou usando o Windows 10 nesse tutorial.
1 – Instale a IDE do Arduino (se você já não tem, pode encontrá-la no site oficial do Arduino)
2 – Faça o download do Git neste link e em seguida instale o programa (não alterei nenhuma opção durante a instalação, deixei tudo no padrão sugerido pelo instalador). Ao final, selecione a opção Launch Git Bash e clique em Finish:
3 – Será então exibida a seguinte janela. Nela, digite o comando “git gui” e pressione ENTER:
4 – Na janela Git GUI, selecione Clone Existing Repository:
5 – Na janela seguinte, preencha os campos Source Location e Target Directory:
Source Location: https://github.com/espressif/arduino-esp32.git
O campo Target Directory pode variar, dependendo de como foi configurada a sua IDE, mas geralmente a pasta é C:\users[usuario]\Documents\Arduino. Você pode encontrar essa informação dentro da IDE do Arduino, no menu Arquivo => Preferências:
O campo Target Directory é formado pelo caminho mostrado em “Local do Sketchbook” mais hardware\espressifesp32. No meu caso então, o campo ficou assim:
Target Directory: C:\Users\Adilson\Documents\Arduino\hardware\espressifesp32
Após preencher os campos, clique em Clone e aguarde o download e instalação dos arquivos.
6 – Vá até a pasta [Local do Sketchbook]hardwareespressifesp32tools e execute o arquivo get.exe:
Aguarde o download e descompactação dos arquivos:
7 – Ao término do processo, você deve ter os arquivos abaixo na pasta:
8 – Hora de conectar o módulo ESP32 na porta USB e aguardar a instalação dos drivers. No meu computador, pelo gerenciador de dispositivos vejo que foi adicionado um dispositivo chamado Silicon Labs CP210x USB to UART Bridge na porta COM6:
Se precisar dos drivers para o CP2102, recomendo este link.
9 – Inicie a IDE do Arduino e no menu Ferramentas => Placa selecione ESP32 Dev Module:
10 – Ainda no menu Ferramentas, selecione a porta COM do módulo. No meu caso, a porta COM6.
11 – Carregue o programa exemplo “blink” na IDE do Arduino, alterando a porta de LED_BUILTIN para a porta 5. O blink está no menu Arquivo => Exemplos => Basics. Seu programa vai ficar assim:
void setup() { pinMode(5, OUTPUT); } void loop() { digitalWrite(5, HIGH); delay(1000); digitalWrite(5, LOW); delay(1000); }
12 – Conecte um led na porta 5 do módulo ESP32 (coloque a perna mais comprida do led na porta 5 e a perna mais curta na porta GND)
13 – Transfira o programa para o ESP32. Alguns tutoriais dizem para pressionar o botão BOOT durante o carregamento do programa, mas no módulo que estou usando não foi necessário. Em alguns instantes, o led conectado ao ESP32 será acionado em intervalos de 1 segundo.
Confira outros posts com ESP32 aqui mesmo no Arduino e Cia!