from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import dht
import time
data_pin = Pin(13, Pin.IN, Pin.PULL_UP)
sensor = dht.DHT22(data_pin)
WIDTH =128
HEIGHT= 64
#Create the I2C connection
i2c=I2C(0,scl=Pin(17),sda=Pin(16),freq=200000)
#Initialize the OLED display
oled = SSD1306_I2C(WIDTH,HEIGHT,i2c)
def read_sensor():
try:
sensor.measure()
temperature = sensor.temperature()
humidity = sensor.humidity()
print_sensor_data(temperature, humidity)
except OSError as e:
print("Error reading data from the sensor")
def print_sensor_data(temperature, humidity):
print("Temperature:{}, Humidity:{}".format(temperature, humidity))
while True:
read_sensor()
temp=str(sensor.temperature())
humi=str(sensor.humidity())
oled.fill(0)
oled.text("Temp.",4,8)
oled.text("Humid.",4,32)
oled.text(temp,65,8)
oled.text(humi,65,32)
oled.show()
time.sleep(1)
Loading
pi-pico-w
pi-pico-w