SAMENVATTING: Ons weerstation leest de DHT11 en UV-sensoren en geeft de gegevens weer op het TFT-display.
from
machine
import
ADC, Pin, SPI
import
utime
import
dht
import
ST7735
# Assuming this is the library for your TFT display
# Initialize DHT11 sensor
sensor_dht11
=
dht.DHT11(Pin(0))
# Initialize UV sensor
uv_sensor
=
ADC(2)
# Assuming GP28 is ADC pin number 1 in your configuration
# Initialize LCD
spi
=
SPI(0, baudrate=8000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(19),
miso=Pin(16))
lcd
=
ST7735.ST7735(spi, rst=Pin(6), ce=Pin(17), dc=Pin(3))
backlight
=
Pin(2, Pin.OUT)
backlight.high()
lcd.reset()
lcd.begin()
lcd.fill_screen(lcd.rgb_to_565(255, 255, 255))
while
True:
lcd.fill_screen(lcd.rgb_to_565(255, 255, 255))
# Read UV value
uv_value
=
uv_sensor.read_u16()
# Conversion in percent
uv_percent
=
(uv_value
/
65000)
print("UV Intensity
(percent):", uv_percent)
# DHT11 Read values
sensor_dht11.measure()
temp
=
sensor_dht11.temperature()
humid
=
sensor_dht11.humidity()
# Display values on LCD
lcd.p_string(20, 20,
"Temp:
lcd.p_string(20, 40,
"Humid:
lcd.p_string(20, 60,
"UV:
{:.2f}%".format(uv_percent))
intensity in percent with two decimal places
utime.sleep(10)
*
100
{}C".format(temp))
{}%".format(humid))
# Display of UV
Initialisatie van het TFT-scherm
De sensorwaarden meten
Uitgang op het display
21