const int potentiometerPin = A0;
const int buzzerPin = 8;
const int ledPin = 13;
const int gasThreshold = 500; // ค่าที่กำหนดสำหรับการตรวจจับแก๊ส
void flashLED() {
digitalWrite(ledPin, HIGH); // เปิด LED
delay(100); // รอเพื่อให้ LED ติดเปิดอยู่เป็นเวลาสั้นๆ
digitalWrite(ledPin, LOW); // ปิด LED
delay(100); // รอเพื่อให้ LED ติดปิดอยู่เป็นเวลาสั้นๆ
}
void flashbuzzer() {
digitalWrite(buzzerPin, HIGH);
delay(100);
digitalWrite(buzzerPin, LOW);
delay(100);
}
void setup() {
Serial.begin(9600); // เริ่มต้น Serial communication
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
int gasLevel = analogRead(potentiometerPin); // อ่านค่าแก๊สจาก potentiometer
Serial.print("Gas Level: ");
Serial.println(gasLevel);
if (gasLevel > gasThreshold) { // ตรวจจับว่าระดับแก๊สเกินค่าที่กำหนดหรือไม่
digitalWrite(buzzerPin, HIGH); // เปิดเสียงเตือนผ่าน buzzer
digitalWrite(ledPin, HIGH); // เปิด LED สีแดง
flashbuzzer();
flashLED(); // เรียกใช้ฟังก์ชัน flashLED() เพื่อทำให้ LED กระพริบ
} else {
digitalWrite(buzzerPin, LOW); // ปิดเสียงเตือน
digitalWrite(ledPin, LOW); // ปิด LED
}
delay(1000); // รอ 1 วินาทีก่อนที่จะทำการตรวจวัดอีกครั้ง
}