#include #include SoftwareSerial mySerial(2, 3); const int pinSensorApi = A1; // Pin sensor api const int pinSensorGas = A2; // Pin sensor gas const int pinBuzzer = 11; // Pin buzzer const int pinDHT = 7; // Pin sensor DHT #define DHTTYPE DHT11 // Tipe sensor DHT (DHT11, DHT21, DHT22) DHT dht(pinDHT, DHTTYPE); int nilaiSensorApi = 0; int nilaiSensorGas = 0; char c; String data; void setup() { Serial.begin(115200); mySerial.begin(115200); pinMode(pinSensorApi, INPUT); pinMode(pinSensorGas, INPUT); pinMode(pinBuzzer, OUTPUT); dht.begin(); } void loop() { while (mySerial.available() > 0) { delay(10); c = mySerial.read(); data += c; } if (data.length() > 0) { Serial.println(data); data = ""; } nilaiSensorApi = analogRead(pinSensorApi); // Inversi nilai sensor api int nilaiSensorApiInverted = 1023 - nilaiSensorApi; // Serial.print("Nilai Sensor Api: "); // Serial.println(nilaiSensorApiInverted); nilaiSensorGas = analogRead(pinSensorGas); // Serial.print("Nilai Sensor Gas: "); // Serial.println(nilaiSensorGas); float suhu = dht.readTemperature(); // Serial.print("Suhu: "); // Serial.println(suhu); if (suhu > 57) { // Sesuaikan nilai ambang sesuai kebutuhan mySerial.print(" SUHU TINGGI "); Serial.println(" SUHU TINGGI "); // Bunyi buzzer 5 kali for (int i = 0; i < 3; i++) { digitalWrite(pinBuzzer, HIGH); delay(500); // Buzzer ON selama 500 ms digitalWrite(pinBuzzer, LOW); delay(500); // Buzzer OFF selama 500 ms } } if (nilaiSensorApiInverted > 800) { // Sesuaikan nilai ambang sesuai kebutuhan mySerial.print(" API TERDETEKSI "); Serial.println(" API TERDETEKSI "); // Bunyi buzzer 3 kali for (int i = 0; i < 3; i++) { digitalWrite(pinBuzzer, HIGH); delay(500); // Buzzer ON selama 500 ms digitalWrite(pinBuzzer, LOW); delay(500); // Buzzer OFF selama 500 ms } } if (nilaiSensorGas > 100) { // Sesuaikan nilai ambang sesuai kebutuhan mySerial.print(" GAS BERBAHAYA TERDETEKSI "); Serial.println(" GAS BERBAHAYA TERDETEKSI "); // Bunyi buzzer 5 kali for (int i = 0; i < 3; i++) { digitalWrite(pinBuzzer, HIGH); delay(500); // Buzzer ON selama 500 ms digitalWrite(pinBuzzer, LOW); delay(500); // Buzzer OFF selama 500 ms } } // Kirim data sensor ke ESP8266 data = "Sensor Api: " + String(nilaiSensorApiInverted) + " Sensor Gas: " + String(nilaiSensorGas) + " Suhu: " + String(suhu); mySerial.println(data); delay(1000); // Mengirim data setiap 1 detik }