# Project objectives: 
#   Read temperature and humidity values from the DHT22 sensor
#   Display the sensor readings in the console
#   Display the sensor readings in an LCD screen
#
# Hardware connections used:
#   DHT22 VCC Pin to 3.3V
#   DHT22 SDA Pin to GPIO Pin 15
#   10k ohm pull-up resistor from DHT22 SDA Pin to 3.3V
#   DHT22 GND Pin to GND
#
# Developer: Adrian Josele G. Quional
#
# References: https://www.circuitschools.com/interfacing-16x2-lcd-module-with-raspberry-pi-pico-with-and-without-i2c/

# libraries
from machine import Pin
from time import sleep
from dht import DHT22
from gpio_lcd import GpioLcd

# creating a DHT object
dht = DHT22(Pin(15))

# creating an LCD object
lcd = GpioLcd(rs_pin=Pin(16),
              enable_pin=Pin(17),
              d4_pin=Pin(18),
              d5_pin=Pin(19),
              d6_pin=Pin(20),
              d7_pin=Pin(21),
              num_lines=2, num_columns=16)
 
while True:
    # getting sensor readings
    dht.measure()
    temp = dht.temperature()
    hum = dht.humidity()
    # displaying values to the console
    print("Temperature: {}°C   Humidity: {:.0f}% ".format(temp, hum))

    # displaying to LCD
    lcd.clear()
    lcd.putstr('Temp: ' + str(temp) + " C")
    lcd.move_to(0,1)
    lcd.putstr('Hum: ' + str(hum) + "%")

    # delay of 2 secs for the reading of the sensor
    sleep(2)
$abcdeabcde151015202530354045505560fghijfghij
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
dht1:VCC
dht1:SDA
dht1:NC
dht1:GND
r1:1
r1:2
lcd1:VSS
lcd1:VDD
lcd1:V0
lcd1:RS
lcd1:RW
lcd1:E
lcd1:D0
lcd1:D1
lcd1:D2
lcd1:D3
lcd1:D4
lcd1:D5
lcd1:D6
lcd1:D7
lcd1:A
lcd1:K
pot1:GND
pot1:SIG
pot1:VCC