Projeto de display inteligente com ESP32 e tela OLED. Exibe relógio sincronizado por NTP, dados de clima em tempo real via API e um visualizador de espectro de áudio animado, com navegação por botões físicos.
![]() Modo Relógio |
![]() Modo Clima |
![]() Modo Música |
Três modos de exibição acessíveis pelos botões:
| Modo | Conteúdo |
|---|---|
| Relógio | Hora, segundos e data com sincronização NTP |
| Clima | Temperatura, sensação, umidade e vento via OpenWeatherMap |
| Espectro | Visualizador de barras animadas |
| Componente | Especificação |
|---|---|
| Microcontrolador | ESP32 |
| Display | OLED 0.96" SSD1306 I2C, 128×64 pixels |
| Botão PROX | Push button tátil (4 pinos) |
| Botão ANT | Push button tátil (4 pinos) |
| Cabos | Jumpers macho-macho |
| Pino OLED | Pino ESP32 | Função |
|---|---|---|
| VCC | 3.3V | Alimentação |
| GND | GND | Terra |
| SDA | GPIO21 | Dados I2C |
| SCL | GPIO22 | Clock I2C |
| Pino botão | Destino |
|---|---|
| Pino 1 | GPIO12 |
| Pino 2 | GND |
| Pino botão | Destino |
|---|---|
| Pino 1 | GPIO14 |
| Pino 2 | GND |
| Biblioteca | Fonte |
|---|---|
Adafruit SSD1306 |
Adafruit |
Adafruit GFX Library |
Adafruit |
ArduinoJson |
Benoit Blanchon |
Preferences |
Built-in ESP32 (já incluída no core) |
Antes de gravar, edite as seguintes linhas no topo de widget_display.cpp:
#define WIFI_SSID "NOME_REDE"
#define WIFI_PASS "SENHA_REDE"
#define OWM_API_KEY "CHAVE_OWM"A chave da OpenWeatherMap é gratuita em openweathermap.org/api.
O fuso horário padrão é UTC-3 (Brasília). Para outro fuso, altere:
#define NTP_OFFSET -10800 


