from machine import Pin, SoftI2C, I2C
from time import sleep
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
from ssd1306 import SSD1306_I2C
from dht import DHT22
# Configurar sensor DHT22 en el pin 12
dht_pin = Pin(12)
sensor = DHT22(dht_pin)
# Configurar el pin del servo en el pin 2 humedad
num_lines = 2
num_columnes = 16
# Objeto para manejar la colección I2C (comunicación)
i2c_lcd = SoftI2C(scl=Pin(22), sda=Pin(21), freq=1000)
i2c_oled = I2C(scl=Pin(15), sda=Pin(16))
# Crear objeto para la LCD
lcd = I2cLcd(i2c_lcd, 0x27, num_lines, num_columnes)
# Crear objeto para la OLED
oled = SSD1306_I2C(128, 64, i2c_oled)
while True:
# Leer temperatura y humedad del sensor
sensor.measure()
t = sensor.temperature()
h = sensor.humidity()
# Mostrar temperatura en la LCD
lcd.clear()
lcd.putstr("Temp: {:.1f} C ".format(t))
lcd.putstr("Humedad: {:.1f} %".format(h))
# Mostrar temperatura en la OLED
oled.fill(0)
oled.text("Temp: {:.1f} C".format(t), 0, 0)
oled.text("Humedad: {:.1f} %".format(h), 0, 20)
oled.show()
sleep(1)