first commit

This commit is contained in:
nuris 2024-07-24 11:49:34 +07:00
parent 33ca53f114
commit abfa09d983
1 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,96 @@
#include <SoftwareSerial.h>
#include <DHT.h>
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
}