A ES32Lab é um conjunto de circuitos eletrônicos montados com o objetivo de facilitar a utilização e o estudo do microcontrolador ESP32 da ESPRESSIF. Ele é uma alternativa mais potente e contemporânea em relação ao consagrado Arduino, oferecendo maior capacidade de processamento e recursos avançados. Com a ES32Lab, é possível explorar de forma mais eficiente as funcionalidades do ESP32 e desenvolver projetos eletrônicos complexos com facilidade.
Aplicações e circuitos onboard da ES32Lab:
- Compatibilidade com as seguintes Shields de ESP32: DEVKit32S, DEVKit32C V4 e NodeMCU32;
- Fonte de alimentação de 5V e 3.3V para suprir diferentes necessidades; Carregador 2S para baterias de íon-lítio, permitindo o uso de energia portátil;
- Ponte H para controle de dois motores DC, possibilitando a criação de projetos de robótica;
- Sensor de tensão DC para monitoramento de voltagem;
- Teclado com 5 teclas para interação com o sistema;
- 2 potenciômetros para ajuste de valores analógicos;
- 6 LEDs para indicadores visuais;
- Sensor de temperatura analógico para medição de temperatura ambiente;
- Sensor LDR para detecção de luz;
- Leitor de cartão micro SD para armazenamento externo;
- Conector preparado para câmera de vídeo OV2640, permitindo captura de imagens e vídeos;
- GPIOs do ESP32 organizadas em ordem crescente para facilitar a conexão de periféricos;
- Expansão de 8 GPIOs extras por i2C, aumentando o número de dispositivos conectados;
- Conexão ponta para RTC físico i2C, possibilitando o uso de um Real-Time Clock externo;
- Buzzer para emitir sons e alertas sonoros;
- Conector P2 para reprodução de áudio utilizando a porta DAC nativa do ESP32;
- Conector para expansões i2S, permitindo a conexão de dispositivos de áudio;
- Conector para os dois modelos mais comuns de display SPI TFT colorido, possibilitando a criação de interfaces gráficas;
- Tamanho compacto de 10x10cm, facilitando a integração em projetos;
- Pode ser acomodado dentro de uma caixa de passagem elétrica, garantindo praticidade na instalação.
Uma característica importante da ES32Lab é a sua capacidade de agilizar o desenvolvimento de projetos utilizando o microcontrolador ESP32 da ESPRESSIF. Com o conjunto de circuitos eletrônicos integrados, ela atende a uma ampla variedade de necessidades em projetos eletrônicos. Além disso, a ES32Lab possui um tamanho compacto que permite acomodá-la facilmente em uma caixa de passagem elétrica comum, adquirida em lojas de materiais de construção.
Essa característica traz benefícios significativos, pois dispensa a necessidade de cases especializados ou estruturas personalizadas para proteção e instalação da ES32Lab. Isso simplifica o processo de montagem e facilita a integração do dispositivo em diferentes ambientes e aplicações.
Dessa forma, a ES32Lab oferece uma solução prática e versátil para o desenvolvimento de projetos com o ESP32, permitindo que os usuários se concentrem na implementação e funcionalidade dos seus projetos, sem a preocupação adicional com a proteção física e instalação especializada do dispositivo.
YouTube - ESP32 sem protoboard!? Conheça cada detalhe do hardware da ES32Lab
Conheça cada detalhe de configuração do hardware da ES32Lab de forma simples e intuitiva. Crie projetos com ESP32 do zero em tempo recorde com essa poderosa ferramenta de desenvolvimento e prototipagem, assista o vídeo e veja com é simples ajustar o hardware da ES32Lab para atender seu projeto.
Tópicos importantes do vídeo explicativo no YouTube:
- Compatível com diversas shields de ESP32;
- Alimentaçãode tensão da ES32Lab;
- Circuitos e conectores da ES32Lab;
- Parte inferior da ES32Lab;
- Legendas de fácil compreensão;
- Configuração e ajustes intuitivos;
- Tamanho compacto;
Para o correto funcionamento da biblioteca ES32Lab, é necessário fazer a instalação obrigatória da dependência TFT_eSPI_ES32Lab. Essa dependência é uma variação da biblioteca TFT_eSPI, desenvolvida por Bobmer e licenciada sob a licença MIT.
IMPORTANTE: Portanto, é essencial baixar e instalar a biblioteca TFT_eSPI_ES32Lab a fim de garantir o funcionamento adequado da biblioteca ES32Lab. Você pode encontrar o link para o download da biblioteca TFT_eSPI_ES32Lab. Certifique-se de seguir as instruções de instalação para integrar corretamente a biblioteca à sua plataforma de desenvolvimento.
Para facilitar a programação da ES32Lab, foram criadas diversas constantes com os endereços de todas as GPIOs do ESP32 que estão conectadas aos diversos circuitos da ES32Lab. Isso dispensa a necessidade de que o programador precise memorizar as GPIOs que estão ligadas aos circuitos da ES32Lab. Abaixo estão algumas das constantes disponíveis:
- P_KEYBOARD = GPIO33
- P_LED_GREEN = GPIO17
- P_LED_YELLOW = GPIO16
- P_LED_RED = GPIO13
- P_LED_BLUE = GPIO12
- P_POT1 = GPIO36
- P_POT2 = GPIO39
- P_VOLTAGE_SENSOR = GPIO34
- P_BUZZER = GPIO25
- P_DAC1 = GPIO25 // Se a DAC for utilizada como áudio, será o canal L
- P_DAC2 = GPIO26 // Se a DAC for utilizada como áudio, será o canal R
- P_I2S_DOUT = GPIO25
- P_I2S_LRC = GPIO26
- P_I2S_BCLK = GPIO27
- P_SDA = GPIO21
- P_SCL = GPIO22
- P_TX0 = GPIO1
- P_RX0 = GPIO3
- P_TX2 = GPIO17
- P_RX2 = GPIO16
- P_MOSI = GPIO23
- P_MISO = GPIO19
- P_SCK = GPIO18
- P_SD_CS = GPIO5
Para exemplificar a utilização das constantes citadas acima, vamos criar um código que faz o LED verde da ES32Lab piscar de forma intermitente. O LED verde está conectado à GPIO17, que pode ser acionada utilizando a constante P_LED_GREEN
.
#include <ES32Lab.h>
void setup() {
pinMode(P_LED_GREEN , OUTPUT);
}
void loop() {
digitalWrite(P_LED_GREEN, HIGH);
delay(500);
digitalWrite(P_LED_GREEN, LOW);
delay(500);
}
Nesse exemplo, a GPIO utilizada para controlar o LED verde foi a 17, que pode ser substituída pela constante P_LED_GREEN
. Isso evita que o programador precise memorizar todos os endereços GPIO utilizados pela ES32Lab.
Todas as constantes de endereços seguem a mesma linha de raciocínio em sua nomenclatura, tornando mais intuitiva sua utilização. No exemplo abaixo, explicarei o raciocínio utilizado para a criação de todas as constantes de GPIOs na ES32Lab.
P_LED_GREEN:
- "P": Pino;
- "LED": Circuito na ES32Lab;
- "GREEN": Cor do LED.
Seguindo essa linha de raciocínio, a constante de controle do LED vermelho será P_LED_RED
, a do buzzer será P_BUZZER
, potenciômetro 1 será P_POT1
e assim por diante.
A biblioteca da ES32Lab conta com diversas classes para programação orientada a objeto, que têm como objetivo facilitar a criação de programas em C++ para controle da placa de desenvolvimento e prototipagem ES32Lab. Abaixo estão as classes disponíveis:
Essas classes podem ser utilizadas para facilitar o desenvolvimento de programas na ES32Lab, oferecendo recursos específicos e abstrações que simplificam o processo de criação de projetos. Cada classe possui sua própria documentação detalhada, que pode ser acessada através dos links fornecidos acima.