47 lines
1.2 KiB
Python
Executable File
47 lines
1.2 KiB
Python
Executable File
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
import time
|
|
import board
|
|
import adafruit_dht
|
|
|
|
def readDHTSensor():
|
|
runFlag = True
|
|
while runFlag:
|
|
try:
|
|
# Print the values to the serial port
|
|
temperature_c = dhtDevice.temperature
|
|
temperature_f = temperature_c * (9 / 5) + 32
|
|
humidity = dhtDevice.humidity
|
|
print(
|
|
"Temp: {:.1f} F / {:.1f} C Humidity: {}% ".format(
|
|
temperature_f, temperature_c, humidity
|
|
)
|
|
)
|
|
runFlag = False
|
|
|
|
except RuntimeError as error:
|
|
# Errors happen fairly often, DHT's are hard to read, just keep going
|
|
print(error.args[0])
|
|
time.sleep(2.0)
|
|
continue
|
|
except Exception as error:
|
|
dhtDevice.exit()
|
|
raise error
|
|
|
|
return [temperature_f, temperature_c, humidity]
|
|
|
|
# Initial the dht device, with data pin connected to:
|
|
dhtDevice = adafruit_dht.DHT11(board.GP4)
|
|
|
|
# you can pass DHT22 use_pulseio=False if you wouldn't like to use pulseio.
|
|
# This may be necessary on a Linux single board computer like the Raspberry Pi,
|
|
# but it will not work in CircuitPython.
|
|
# dhtDevice = adafruit_dht.DHT22(board.D18, use_pulseio=False)
|
|
|
|
while True:
|
|
sensorReadings = readDHTSensor()
|
|
print(sensorReadings)
|
|
time.sleep(2.0)
|
|
|