# Project objectives:
# Read temperature and humidity values from the DHT22 sensor
# Display the sensor readings in the console
#
# 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
#
# Programmer: Adrian Josele G. Quional
# modules
from machine import Pin
from time import sleep
from dht import DHT22 # if the sensor is DHT11, import DHT11 instead of DHT22
from enum import Enum
import config
states = Enum ["CLOSED", "OPENED"];
shuttersState = state.0;
# creating a DHT object
# change DHT22 to DHT11 if DHT11 is used
dht = DHT22(Pin(15))
# continuously get sensor readings while the board has power
while True:
# getting sensor readings
dht.measure()
temp = dht.temperature()
hum = dht.humidity()
print(config.CLOSE_SHUTTERS_TEMP);
print(config.OPEN_SHUTTERS_TEMP);
print("end test");
# displaying values to the console
print(f"Temperature: {temp}°C Humidity: {hum}% ");
if temp <= config.OPEN_SHUTTERS_TEMP:
switchShuttersState(1);
elif temp >= config.OPEN_SHUTTERS_TEMP:
switchShuttersState(0);
# delay of 2 secs because DHT22 takes a reading once every 2 secs
sleep(2)
# 0 = CLOSE; 1 = OPEN
def switchShuttersState (signal):
shuttersState = (shuttersState == states.signal) ? shuttersState : states.signal;
print("Shutters are {shuttersState}!");