# 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