import machine
import utime
import dht
# Inisialisasi sensor DHT22 di GPIO12
dht22 = dht.DHT22(machine.Pin(12))
# Nama file simulasi di Wokwi
FILE_PATH = "data_logger.txt"
# Fungsi membaca sensor DHT22
def baca_sensor():
dht22.measure()
suhu = dht22.temperature()
kelembaban = dht22.humidity()
return suhu, kelembaban
# Fungsi menyimpan data ke file
def simpan_data():
try:
suhu, kelembaban = baca_sensor()
waktu = utime.localtime()
timestamp = f"{waktu[0]:04d}-{waktu[1]:02d}-{waktu[2]:02d} {waktu[3]:02d}:{waktu[4]:02d}:{waktu[5]:02d}.00 UTC"
# Format data JSON
data = f'{{"waktu":"{timestamp}", "suhu":{suhu:.2f}, "kelembaban":{kelembaban:.2f}}}\n'
# Simpan ke file lokal di Wokwi
with open(FILE_PATH, "a") as file:
file.write(data)
# Tampilkan di terminal
print("Data tersimpan:", data)
except Exception as e:
print("Gagal membaca sensor atau menyimpan data:", e)
# Loop utama: Simpan data setiap 1 detik
while True:
simpan_data()
utime.sleep(1)