from machine import Pin, ADC, PWM, I2C #Importa el pin, adc, pwm, i2c
from utime import sleep, sleep_ms #Importa el sleep
from dht import DHT22 #Importa el dht22
from ssd1306 import SSD1306_I2C #Importa el ssd1306_i2c
alto = 64 #Se le asigna un valor a la variable alto
ancho = 128 #Se le asigna un valor a la variable ancho
i2c=I2C(0, scl=Pin(22), sda=Pin(21)) #Se le asignan pines a los cables requeridos para que funcione el circuito
oled = SSD1306_I2C(ancho, alto, i2c) # La variable oled es igual a ancho alto y i2c de la pantalla
dht= DHT22(Pin(15)) #la variable dht es igual al dht22 asignado al pin 15
print(i2c.scan(), "conectada") #Se le dice que imprima un mensaje que diga "conectada" cuando el dispositivo funcione
while True: #Por siempre
dht.measure()
tem = dht.temperature() #Tem es igual a la temperatura del sensor dht
hum = dht.humidity() #Hum es igual a la humedad del sensor dht
oled.fill(0) #Se rellena el fondo del color que sea, 0=Negro 1=Blanco
oled.pixel(64,60, 1) #Se le dice donde ubicar el texto y de que color escribirlo
oled.vline(0, 0, 20, 1) #Se dibuja una linea vertical para el cuadro alrededor de Datos y en que ubicacion poner la linea
oled.vline(120, 0, 20, 1) #Se dibuja una linea vertical para el cuadro alrededor de Datos y en que ubicacion poner la linea
oled.hline(0, 0, 120, 1) #Se dibuja una linea horizontal para el cuadro alrededor de Datos y en que ubicacion poner la linea
oled.hline(0, 20, 120, 1) #Se dibuja una linea horizontal para el cuadro alrededor de Datos y en que ubicacion poner la linea
oled.text("Datos", 10, 10, 1) #Se le dice que texto poner en la pantalla y en que ubicacion poner el texto "Datos"
oled.text ("Tem:", 0, 30, 1) #Se le dice que texto poner en la pantalla y en que ubicacion poner el texto "Tem"
oled.text("Hum:", 0, 40, 1) #Se le dice que texto poner en la pantalla y en que ubicacion poner el texto "Hum"
oled.text(str(tem), 60, 30, 1)
oled.text(str(hum), 60, 40, 1) #columna fila
oled. show() #Se le dice al oled que muestre