# main.py - SETUP CORRIGIDO com Limpeza Forçada
from machine import Pin, I2C
import dht
import ssd1306
import time
# --- 1. CONFIGURAÇÃO (SETUP) ---
time.sleep(1)
# Configuração de Pinos e Inicialização dos objetos
i2c = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
# Inicializa o display OLED (usando o endereço 0x3c)
oled = ssd1306.SSD1306_I2C(128, 64, i2c, addr=0x3c)
# Damos tempo para o OLED estabilizar
time.sleep(1)
# *** NOVIDADE: Limpeza Forçada e Exibição para garantir que o display está ativo ***
oled.fill(0)
oled.text("Iniciando...", 0, 20)
oled.show()
# ---------------------------------------------------------------------------------
sensor = dht.DHT22(Pin(23))
print("Termômetro Digital Simples Iniciado.")
# --- 2. LOOP PRINCIPAL (Sem Alteração) ---
while True:
try:
sensor.measure()
temp = sensor.temperature()
humid = sensor.humidity()
oled.fill(0)
oled.text("Temp: {:.1f} C".format(temp), 5, 10)
oled.text("Umid: {:.1f} %".format(humid), 5, 30)
oled.show()
print("T:", temp, "H:", humid)
except OSError:
oled.fill(0)
oled.text("ERRO!", 0, 10)
oled.text("Falha DHT22.", 0, 30)
oled.show()
time.sleep(5)