from machine import Pin
from time import sleep
import dht
# Pin konfigurasi
DHT_PIN1 = 15
DHT_PIN2 = 2
DHT_PIN3 = 4
RELAY_PIN = 16
# Inisialisasi sensor DHT
dht1 = dht.DHT22(Pin(DHT_PIN1))
dht2 = dht.DHT22(Pin(DHT_PIN2))
dht3 = dht.DHT22(Pin(DHT_PIN3))
# Inisialisasi relay
relay = Pin(RELAY_PIN, Pin.OUT)
relay.value(0) # Pastikan relay OFF pada awal
print("MicroPython ESP32 dengan Sensor DHT22 dan Relay")
while True:
try:
# Membaca suhu dan kelembaban dari sensor pertama
dht1.measure()
temp1 = dht1.temperature()
hum1 = dht1.humidity()
# Membaca suhu dan kelembaban dari sensor kedua
dht2.measure()
temp2 = dht2.temperature()
hum2 = dht2.humidity()
# Membaca suhu dan kelembaban dari sensor ketiga
dht3.measure()
temp3 = dht3.temperature()
hum3 = dht3.humidity()
# Menampilkan hasil pembacaan
print("\n=== Pembacaan Sensor ===")
print(f"Sensor 1 - Suhu: {temp1:.2f} C, Kelembaban: {hum1:.2f} %")
print(f"Sensor 2 - Suhu: {temp2:.2f} C, Kelembaban: {hum2:.2f} %")
print(f"Sensor 3 - Suhu: {temp3:.2f} C, Kelembaban: {hum3:.2f} %")
# Logika pengendalian relay (contoh: suhu rata-rata > 30 C)
avg_temp = (temp1 + temp2 + temp3) / 3.0
print(f"Suhu Rata-Rata: {avg_temp:.2f} C")
if avg_temp > 30.0:
relay.value(1) # Nyalakan relay
print("Relay ON")
else:
relay.value(0) # Matikan relay
print("Relay OFF")
except Exception as e:
print("Gagal membaca sensor:", e)
sleep(2) # Delay 2 detik sebelum pembacaan berikutnya
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4
Loading
grove-oled-sh1107
grove-oled-sh1107