from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
from dht import DHT22
import network
import socket
from utime import sleep # Importa sleep desde utime
import urequests # Para hacer solicitudes HTTP
# Configuración del OLED
ancho = 128
alto = 64
i2c = I2C(0, scl=Pin(21), sda=Pin(22))
oled = SSD1306_I2C(ancho, alto, i2c)
# Mostrar mensaje de bienvenida en la OLED
oled.fill(0) # Limpia la pantalla
oled.text("*****************", 0, 0)
oled.text("Hola", 45, 10)
oled.text("Bienvenidos", 20, 25)
oled.text("****************", 0, 35)
oled.text("al ISPC", 40, 50)
oled.text("****************", 0, 60)
oled.show()
sleep(4) # Esperar 4 segundos antes de iniciar el monitoreo de temperatura
# Inicialización del sensor DHT22
sensorDHT = DHT22(Pin(15))
# Bucle principal para mostrar la temperatura y humedad
while True:
sleep(1)
sensorDHT.measure()
temp = sensorDHT.temperature()
hum = sensorDHT.humidity()
kelvin = temp + 273
far = (temp * 9/5) + 32
# Mostrar los valores de temperatura y humedad en la OLED
oled.fill(0) # Limpiar la pantalla antes de escribir nueva información
oled.text("Temp: {:.2f} C".format(temp), 0, 0)
oled.text("Hum: {:.2f} %".format(hum), 0, 10)
oled.text("Kelvin: {:.2f} K".format(kelvin), 0, 20)
oled.text("Far: {:.2f} F".format(far), 0, 30)
oled.text("****************", 0, 40)
oled.show()
# Imprimir también los valores por consola
print("T = {:.2f} °C H = {:.2f} % K = {:.2f} K F = {:.2f} °F".format(temp, hum, kelvin, far))