#define L0 15
#define L1 2
#define L2 4
#define L3 19
#define L4 21
#define L5 22
#define LED1 21 // LED แยกอีกดวง
#define BUZZER_PIN 23 // buzzer ต่อขา 23
#define PushButton1 12 // ปุ่มกดที่ 1
#define PushButton2 13 // ปุ่มกดที่ 2
int leds[] = {L0, L1, L2, L3, L4, L5};
int numLeds = 6;
void setup() {
// ตั้งค่า LED
for (int i = 0; i < numLeds; i++) {
pinMode(leds[i], OUTPUT);
}
pinMode(LED1, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
// ตั้งค่าปุ่มกด (ใช้ pull-up ภายใน)
pinMode(PushButton1, INPUT_PULLUP);
pinMode(PushButton2, INPUT_PULLUP);
}
// ฟังก์ชัน 1: กระพริบ LED1
void Function1() {
digitalWrite(LED1, HIGH);
delay(100);
digitalWrite(LED1, LOW);
delay(100);
}
// ฟังก์ชัน 2: เล่น pattern LED + buzzer
void Function2() {
digitalWrite(L0, HIGH);
digitalWrite(L1, LOW);
tone(BUZZER_PIN, 200, 100);
delay(300);
digitalWrite(L1, HIGH);
tone(BUZZER_PIN, 200, 100);
delay(300);
digitalWrite(L2, HIGH);
tone(BUZZER_PIN, 200, 100);
delay(300);
digitalWrite(L0, LOW);
digitalWrite(L3, HIGH);
tone(BUZZER_PIN, 1000, 200);
delay(300);
digitalWrite(L1, LOW);
digitalWrite(L4, HIGH);
tone(BUZZER_PIN, 1000, 200);
delay(300);
digitalWrite(L2, LOW);
digitalWrite(L5, HIGH);
tone(BUZZER_PIN, 200, 100);
delay(300);
}
void loop() {
if (digitalRead(PushButton1) == LOW) {
Function1(); // ถ้ากดปุ่ม 1 → กระพริบ LED1
}
if (digitalRead(PushButton2) == LOW) {
Function2(); // ถ้ากดปุ่ม 2 → เล่น pattern
}
}
LAB X-II
Push to Functions