from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import  sys
import time
import dht
dht22 = dht.DHT22(Pin(9))
led1 = Pin(3,Pin.OUT)
led2 = Pin(1,Pin.OUT)

pix_res_x = 128
pix_res_y = 64


def init_i2c(scl_pin, sda_pin):
    # Initialize I2C device
    i2c_dev = I2C(1, scl=Pin(scl_pin), sda=Pin(sda_pin), freq=200000)
    i2c_addr = [hex(ii) for ii in i2c_dev.scan()]
   
    if not i2c_addr:
        print('No I2C Display Found')
        sys.exit()
    else:
        print("I2C Address      : {}".format(i2c_addr[0]))
        print("I2C Configuration: {}".format(i2c_dev))
   
    return i2c_dev




def display_text(oled):
    # Display text on the OLED
    oled.fill(0)
    dht22.measure()
    temperature_C = dht22.temperature()
    if temperature_C > 40:
        led1.value(1)
        time.sleep(1)
        led1.value(0)

    humidity = dht22.humidity()

    if humidity > 50:
        led2.value(1)
        time.sleep(1)
        led2.value(0)
        
    temperature_F=32+(1.8*temperature_C)
    oled.text('temp in C ',0,10)
    oled.text(str(temperature_C),5,20)
    oled.text('Humidity  ',0,30)
    oled.text(str(humidity),5,40)
    oled.show()
    time.sleep(2)




def main():
    i2c_dev = init_i2c(scl_pin=27, sda_pin=26)
    oled = SSD1306_I2C(pix_res_x, pix_res_y, i2c_dev)
    display_text(oled)


if __name__ == '__main__':
    main()



BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT
pico:GP0
pico:GP1
pico:GND.1
pico:GP2
pico:GP3
pico:GP4
pico:GP5
pico:GND.2
pico:GP6
pico:GP7
pico:GP8
pico:GP9
pico:GND.3
pico:GP10
pico:GP11
pico:GP12
pico:GP13
pico:GND.4
pico:GP14
pico:GP15
pico:GP16
pico:GP17
pico:GND.5
pico:GP18
pico:GP19
pico:GP20
pico:GP21
pico:GND.6
pico:GP22
pico:RUN
pico:GP26
pico:GP27
pico:GND.7
pico:GP28
pico:ADC_VREF
pico:3V3
pico:3V3_EN
pico:GND.8
pico:VSYS
pico:VBUS
oled1:GND
oled1:VCC
oled1:SCL
oled1:SDA
dht1:VCC
dht1:SDA
dht1:NC
dht1:GND
led1:A
led1:C
led2:A
led2:C