import board
import busio
import digitalio
import adafruit_dht # Assuming you've installed the adafruit_dht library
# Constants
DHT_SENSOR_TYPE = adafruit_dht.DHT22
DHT_PIN = 15
GREEN_LED = digitalio.DigitalInOut(board.D27) # Assuming pin mapping on your board
YELLOW_LED = digitalio.DigitalInOut(board.D14)
RED_LED = digitalio.DigitalInOut(board.D12)
BLUE_LED = digitalio.DigitalInOut(board.D26)
# Initialize sensor object
dht_sensor = adafruit_dht.DHT(DHT_SENSOR_TYPE, DHT_PIN)
# Initialize LEDs as outputs
GREEN_LED.switch_to_output()
YELLOW_LED.switch_to_output()
RED_LED.switch_to_output()
BLUE_LED.switch_to_output()
def setup():
print("Initializing...")
def loop():
try:
# Read temperature and humidity data
temperature = dht_sensor.temperature
humidity = dht_sensor.humidity
# Check temperature ranges for LED control
if 10 < temperature < 20:
GREEN_LED.value = True
else:
GREEN_LED.value = False
if 21 < temperature < 30:
YELLOW_LED.value = True
else:
YELLOW_LED.value = False
if temperature > 31:
RED_LED.value = True
else:
RED_LED.value = False
# Check humidity for blue LED control
if humidity > 50:
BLUE_LED.value = True
else:
BLUE_LED.value = False
# Print sensor data to serial console (replace with your preferred output method)
print(f"Temperature: {temperature:.2f}°C")
print(f"Humidity: {humidity:.1f}%")
except RuntimeError as e:
print(f"Error reading from sensor: {e}")
# Delay between readings
time.sleep(1)
if __name__ == "__main__":
setup()
while True:
loop()