#Alumnos: Amador Daniel Varela Miguel
import machine
from machine import SoftI2C
import dht
import ssd1306
# Configuración del sensor DHT22
sensor = dht.DHT22(machine.Pin(26))
# Configuración de la pantalla OLED
i2c = SoftI2C(scl=machine.Pin(7), sda=machine.Pin(6))
#SoftI2C = machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# Configuración de los LEDs
led1 = machine.Pin(14, machine.Pin.OUT)
led2 = machine.Pin(15, machine.Pin.OUT)
led3 = machine.Pin(12, machine.Pin.OUT)
led4 = machine.Pin(11, machine.Pin.OUT)
while True:
try:
# Leer datos del sensor DHT22
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
# Mostrar datos en la pantalla OLED
oled.fill(0)
oled.text('Temp: {:.1f} C'.format(temp), 0, 0)
oled.text('Humedad: {:.1f} %'.format(hum), 0, 20)
oled.show()
print('lectura del temperatura',temp)
print('lectura de la humedad', hum)
# Encender LEDs según la humedad
if hum < 30:
led1.value(1)
led2.value(0)
led3.value(0)
led4.value(0)
elif hum < 50:
led1.value(1)
led2.value(1)
led3.value(0)
led4.value(0)
elif hum < 70:
led1.value(1)
led2.value(1)
led3.value(1)
led4.value(0)
else:
led1.value(1)
led2.value(1)
led3.value(1)
led4.value(1)
# Esperar 2 segundos antes de leer de nuevo
# machine.sleep(2)
except OSError as e:
print('Error de lectura del sensor')