# Tujuan proyek:
# Membaca suhu dan kelembapan dari sensor DHT22
# Menampilkan pembacaan sensor di konsol
#
# Koneksi perangkat keras yang digunakan:
# DHT22 VCC Pin ke 3.3V
# DHT22 SDA Pin ke GPIO Pin 15
# Resistor pull-up 10k ohm dari DHT22 SDA Pin ke 3.3V
# DHT22 GND Pin ke GND
#
# Pemrogram: Adrian Josele G. Quional
# Import modul yang diperlukan
from machine import Pin
from time import sleep
from dht import DHT22 # Gunakan DHT11 jika sensor yang digunakan adalah DHT11
# Membuat objek DHT
sensor = DHT22(Pin(15))
# Fungsi untuk mengukur suhu dan kelembapan
def read_sensor():
try:
sensor.measure() # Mengukur suhu dan kelembapan
temperature = sensor.temperature() # Mendapatkan suhu
humidity = sensor.humidity() # Mendapatkan kelembapan
return temperature, humidity
except Exception as e:
print("Kesalahan saat membaca sensor:", e) # Penanganan kesalahan
return None, None
# Fungsi untuk menampilkan pembacaan sensor di konsol
def display_readings(temp, hum):
if temp is not None and hum is not None:
print(f"Temperature:{temp:.1f}°C Humidity: {hum:.1f}%")
else:
print("Tidak dapat membaca data sensor.")
# Loop utama untuk mendapatkan pembacaan secara terus-menerus
while True:
temperature, humidity = read_sensor() # Membaca sensor
display_readings(temperature, humidity) # Menampilkan hasil
sleep(2) # Waktu tunggu karena DHT22 hanya dapat membaca setiap 2 detik