from machine import Pin, ADC, SoftI2C
from time import sleep
import dht
# ---------------- LCD SIMPLE ----------------
class I2cLcd:
def __init__(self, i2c, addr, rows, cols):
self.i2c = i2c
self.addr = addr
self.rows = rows
self.cols = cols
def clear(self):
self.i2c.writeto(self.addr, b'\x01')
sleep(0.05)
def putstr(self, text):
self.i2c.writeto(self.addr, text.encode())
# ---------------- CONFIG LCD ----------------
I2C_ADDR = 0x27
i2c = SoftI2C(
scl=Pin(22),
sda=Pin(21),
freq=100000
)
lcd = I2cLcd(i2c, I2C_ADDR, 2, 16)
# ---------------- DHT22 ----------------
dht_sensor = dht.DHT22(Pin(15))
# ---------------- LDR ----------------
ldr = ADC(Pin(34))
ldr.atten(ADC.ATTN_11DB)
# ---------------- LOOP ----------------
while True:
dht_sensor.measure()
temp = dht_sensor.temperature()
hum = dht_sensor.humidity()
luz = ldr.read()
print("======================")
print(" MONITOREO AMBIENTAL ")
print("======================")
print("Temperatura:", temp, "C")
print("Humedad:", hum, "%")
print("Nivel de luz:", luz)
print("======================")
sleep(2)