Reaction Test: เกม Reflex ของ Arduino
ใครคือนักกดนิ้วที่เร็วที่สุด? เกม Reflex อย่างง่าย เป็นโปรเจกต์สไตล์อาร์เคดที่เล่นแล้วติด ซึ่งใช้แถวของ LED ที่กวาดไปมาเพื่อทดสอบความเร็วปฏิกิริยาของมนุษย์ มันเป็นการฝึกฝนที่ยอดเยี่ยมในการเขียนโปรแกรมที่ต้องอาศัยเวลาเป็นสิ่งสำคัญ

กลไกหลัก
- หน้าจอแสดงผล: แถวของ LED 5 หรือ 10 ดวง LED ตรงกลางคือ "เป้าหมาย" (มักจะเป็นสีที่แตกต่างกัน เช่น สีเขียว)
- การกวาดแสง: LED จะกะพริบตามลำดับไปมา เหมือนดวงตาของ Cylon หรือ KITT จาก Knight Rider
- การป้อนข้อมูล: ผู้เล่นมี Push Button หนึ่งตัว
- เป้าหมาย: ผู้เล่นจะต้องกดปุ่มในมิลลิวินาทีที่แน่นอนที่ LED "เป้าหมาย" สีเขียวสว่างขึ้น
- ตรรกะ: หาก
digitalRead(button) == HIGHในขณะที่current_LED == Target_LEDผู้เล่นจะได้คะแนน
ส่วนประกอบฮาร์ดแวร์
- Arduino Uno/Nano: เครื่องยนต์เกม
- LEDs (หลายสี): สีแดง 4 ดวง, สีเขียว 1 ดวง (สำหรับเป้าหมาย)
- Push Button: ตัวกระตุ้น
- Piezo Buzzer: สำหรับเสียง "ติ๊ง" เมื่อสำเร็จ และเสียง "บซซซ" เมื่อล้มเหลว
ปัจจัยความท้าทาย
เมื่อคะแนนของผู้เล่นเพิ่มขึ้น delay() ระหว่างการเปลี่ยนตำแหน่งของ LED จะลดลง ทำให้การกวาดแสงเคลื่อนที่เร็วขึ้นเรื่อยๆ สิ่งนี้จะสอนวิธีใช้ dynamic variables เพื่อเปลี่ยน Curve ความยากของโปรแกรมซอฟต์แวร์ได้ทันที