import network
import urequests
import machine
import dht
import time
# ===== GANTI API KEY =====
API_KEY = "VCAFUOJP0RJNWI46"
# ===== SENSOR =====
dht_sensor = dht.DHT22(machine.Pin(15))
ldr = machine.ADC(26)
# ===== AKTUATOR =====
led_merah = machine.Pin(16, machine.Pin.OUT)
led_hijau = machine.Pin(17, machine.Pin.OUT)
buzzer = machine.Pin(4, machine.Pin.OUT)
# ===== WIFI WOKWI =====
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect("Wokwi-GUEST", "")
print("Menghubungkan WiFi...")
while not wifi.isconnected():
time.sleep(0.5)
print("WiFi terhubung")
# ===== LOOP =====
while True:
dht_sensor.measure()
suhu = dht_sensor.temperature()
hum = dht_sensor.humidity()
cahaya = ldr.read_u16()
# ===== LOGIKA AKTUATOR =====
if suhu > 30:
led_merah.on()
else:
led_merah.off()
if cahaya > 30000:
led_hijau.on()
else:
led_hijau.off()
if suhu > 32:
buzzer.on()
else:
buzzer.off()
# ===== KIRIM KE THINGSPEAK =====
url = "https://api.thingspeak.com/update?api_key={}&field1={}&field2={}&field3={}".format(
API_KEY, suhu, hum, cahaya)
try:
response = urequests.get(url)
response.close()
print("Data terkirim:", suhu, hum, cahaya)
except:
print("Gagal kirim data")
time.sleep(15) # wajib minimal 15 detik