// กำหนดขา BUZZER และ LED
#define BUZZER 23
// กำหนดขา LED ทั้ง 5 ดวง
#define LED1 15
#define LED2 2
#define LED3 4
#define LED4 16
#define LED5 17
// สร้างอาร์เรย์ของขา LED
int leds[] = {LED1, LED2, LED3, LED4, LED5};
const int numLeds = 5;
// ฟังก์ชันสำหรับตั้งค่าเริ่มต้น
void setup() {
pinMode(BUZZER, OUTPUT);
// ตั้งค่าขา LED ทั้งหมดเป็น OUTPUT
for (int i = 0; i < numLeds; i++) {
pinMode(leds[i], OUTPUT);
}
}
// ฟังก์ชันสำหรับปิดไฟ LED ทั้งหมด
void allOff() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(leds[i], LOW);
}
}
// ฟังก์ชันสำหรับไล่ไฟ
void chaseLights() {
for (int i = 0; i < numLeds; i++) {
// เปิด LED ที่ i
digitalWrite(leds[i], HIGH);
delay(100);
// ปิด LED ที่ i
digitalWrite(leds[i], LOW);
}
}
// ฟังก์ชันสำหรับเสียงไซเรน
void sirenSound() {
// เสียงไซเรน 1
tone(BUZZER, 500); // ความถี่ 500 Hz
delay(500);
noTone(BUZZER);
// เสียงไซเรน 2
tone(BUZZER, 700); // ความถี่ 700 Hz
delay(500);
noTone(BUZZER);
}
// ฟังก์ชันหลักที่ทำงานวนซ้ำ
void loop() {
// เรียกฟังก์ชันไล่ไฟ
chaseLights();
// เรียกฟังก์ชันเสียงไซเรน
sirenSound();
}
LAB X-II
Push to Functions