const int randomButtonPin = 8; // ขาของปุ่ม random
const int resetButtonPin = 9; // ขาของปุ่ม reset
const int ledPins[] = {2, 3, 4, 5, 6, 7}; // ขาของ LED 6 ดวง
boolean isFirstPress = true; // ตัวแปรเพื่อตรวจสอบการกดปุ่มครั้งแรก
void setup() {
pinMode(randomButtonPin, INPUT_PULLUP); // ตั้งโหมดของปุ่ม random เป็น INPUT_PULLUP
pinMode(resetButtonPin, INPUT_PULLUP); // ตั้งโหมดของปุ่ม reset เป็น INPUT_PULLUP
for (int i = 0; i < 6; i++) {
pinMode(ledPins[i], OUTPUT); // ตั้งโหมดของ LED เป็น OUTPUT
digitalWrite(ledPins[i], HIGH); // เปิด LED ทุกดวง
}
}
void loop() {
if (isFirstPress && digitalRead(randomButtonPin) == LOW) { // เมื่อปุ่ม random ถูกกดครั้งแรก
for (int i = 0; i < 6; i++) {
digitalWrite(ledPins[i], LOW); // ดับ LED ทุกดวง
}
isFirstPress = false; // กำหนดให้ไม่ใช่การกดครั้งแรกอีก
delay(5000); // หน่วงเวลา 5 วินาที สำหรับการกดครั้งแรก
int randomLED = random(6); // สุ่มเลือก LED แบบสุ่ม
digitalWrite(ledPins[randomLED], HIGH); // เปิด LED ที่ถูกสุ่มเลือก
} else if (!isFirstPress && digitalRead(randomButtonPin) == LOW) { // เมื่อปุ่ม random ถูกกดหลังการกดครั้งแรก
for (int i = 0; i < 6; i++) {
digitalWrite(ledPins[i], LOW); // ดับ LED ทุกดวง
}
delay(1000); // หน่วงเวลา 1 วินาที
int randomLED = random(6); // สุ่มเลือก LED แบบสุ่ม
digitalWrite(ledPins[randomLED], HIGH); // เปิด LED ที่ถูกสุ่มเลือก
}
if (digitalRead(resetButtonPin) == LOW) { // เมื่อปุ่ม reset ถูกกด
isFirstPress = true; // กำหนดให้เป็นการกดครั้งแรก
for (int i = 0; i < 6; i++) {
digitalWrite(ledPins[i], HIGH); // เปิด LED ทุกดวง
}
}
}