first commit
This commit is contained in:
parent
33ca53f114
commit
abfa09d983
|
@ -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
|
||||
}
|
Loading…
Reference in New Issue