From f4e570e9e8311c95246179943fb442a6023be365 Mon Sep 17 00:00:00 2001 From: Muhammad Izza Alfiansyah Date: Wed, 12 Jun 2024 16:22:15 +0700 Subject: [PATCH] add check status device --- .../sketch_apr22a/sketch_apr22a.ino | 33 +++++++++++++------ website/src/App.tsx | 2 +- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/microcontroller/sketch_apr22a/sketch_apr22a.ino b/microcontroller/sketch_apr22a/sketch_apr22a.ino index bb9fcce..7d5e442 100644 --- a/microcontroller/sketch_apr22a/sketch_apr22a.ino +++ b/microcontroller/sketch_apr22a/sketch_apr22a.ino @@ -371,18 +371,31 @@ void runFermentasi() { lcd.print(kelembaban, 1); lcd.print(" %"); - // menyalakan lampu jika suhu di bawah 30 - if (suhu <= 30) { - digitalWrite(LAMPPIN, LOW); - } else { - digitalWrite(LAMPPIN, HIGH); - } + bool otomatis = (bool) pengaturan[0]["auto"]; + int suhuMin = (int) pengaturan[0]["suhu_min"]; + int suhuMax = (int) pengaturan[0]["suhu_max"]; - // menyalakan kipas jika suhu di atas 40 - if (suhu >= 40) { - digitalWrite(FANPIN, LOW); + // pilihan user menghidupkan kontrol otomatis atau manual + if (otomatis) { + // menyalakan lampu jika suhu di bawah suhu minimal + if (suhu <= suhuMin) { + digitalWrite(LAMPPIN, LOW); + } else { + digitalWrite(LAMPPIN, HIGH); + } + + // menyalakan kipas jika suhu di atas suhu maximal + if (suhu >= suhuMax) { + digitalWrite(FANPIN, LOW); + } else { + digitalWrite(FANPIN, HIGH); + } } else { - digitalWrite(FANPIN, HIGH); + bool lampOn = (bool) pengaturan[0]["lamp_on"]; + bool fanOn = (bool) pengaturan[0]["fan_on"]; + + digitalWrite(LAMPPIN, lampOn ? LOW : HIGH); + digitalWrite(FANPIN, fanOn ? LOW : HIGH); } // menentukan data masuk ke pengujian atau tidak berdasarkan jarak jam diff --git a/website/src/App.tsx b/website/src/App.tsx index 3d4dcbb..657275e 100644 --- a/website/src/App.tsx +++ b/website/src/App.tsx @@ -131,7 +131,7 @@ export default function (props: JSX.HTMLAttributes) { } } else { setCanNavigate(true); - // await checkStatusDevice(); + await checkStatusDevice(); } } };