Docs
from machine import Pin, ADC, PWM, I2C
from utime import sleep, sleep_ms
from dht import DHT22
from ssd1306 import SSD1306_I2C

# Definición de las dimensiones de la pantalla OLED
alto = 64
ancho = 128

# Configuración del bus I2C para la pantalla OLED
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled = SSD1306_I2C(ancho, alto, i2c)  # Inicializa la pantalla OLED con el bus I2C
dht = DHT22(Pin(15))  # Inicializa el sensor de temperatura y humedad DHT22 en el pin 15

print(i2c.scan(), "conectada")  # Escanea y muestra los dispositivos conectados al bus I2C

while True:
    # Realiza una medición de temperatura y humedad con el sensor DHT22
    dht.measure()
    tem = dht.temperature()  # Obtiene la temperatura medida
    hum = dht.humidity()     # Obtiene la humedad medida
    # Limpia la pantalla OLED antes de mostrar nueva información
    oled.fill(0)
    # Dibuja elementos en la pantalla OLED
    oled.pixel(64, 60, 1)       # Dibuja un píxel en la posición (64, 60)
    oled.vline(0, 0, 20, 1)     # Dibuja una línea vertical desde (0, 0) con altura 20
    oled.vline(120, 0, 20, 1)   # Dibuja otra línea vertical desde (120, 0) con altura 20
    oled.hline(0, 0, 120, 1)    # Dibuja una línea horizontal desde (0, 0) con longitud 120
    oled.hline(0, 20, 120, 1)   # Dibuja otra línea horizontal desde (0, 20) con longitud 120
    # Muestra el texto en la pantalla OLED
    oled.text("Datos", 10, 10, 1)  # Escribe "Datos" en la posición (10, 10)
    oled.text("Tem:", 0, 30, 1)    # Escribe "Tem:" en la posición (0, 30)
    oled.text("Hum:", 0, 40, 1)    # Escribe "Hum:" en la posición (0, 40)
    oled.text(str(tem), 60, 30, 1) # Escribe la temperatura medida en la posición (60, 30)
    oled.text(str(hum), 60, 40, 1) # Escribe la humedad medida en la posición (60, 40)
    oled.show()  # Actualiza la pantalla para mostrar los cambios realizados
$abcdeabcde151015202530354045505560fghijfghij
$abcdeabcde151015202530354045505560fghijfghij
Loading
ssd1306