เกมหน่วยความจำ 4 สี
มี LEDs 4 ตัวเชื่อมต่อกับ Pins 8 - 11 ซึ่งจะกะพริบตามลำดับที่แตกต่างกันที่คุณต้องจดจำ
มี Buttons 4 ตัวเชื่อมต่อกับ Pins 4 - 7 ที่คุณใช้เพื่อทำซ้ำลำดับที่ถูกต้อง
หนึ่งใน Buttons คือ Start button และอีกอันจะเริ่มเกมแบบเงียบ
เมื่อคุณทำลำดับได้ถูกต้อง จะมีเสียง Beep ที่มีความสุขเล่นขึ้นมา
เมื่อป้อนลำดับที่ไม่ถูกต้อง จะมีเสียงโทนเศร้าเล่นขึ้นมา
ง่ายต่อการประกอบให้มีขนาดกะทัดรัดด้วย Arduino Nano บน Breadboard ขนาดเล็ก
ภาพรวมโปรเจกต์
โปรเจกต์นี้เป็นเกมอิเล็กทรอนิกส์หน่วยความจำ "Simon Says" เวอร์ชันกะทัดรัด ซึ่งได้รับการปรับให้เหมาะสมสำหรับ Arduino Nano มันท้าทายผู้เล่นให้จดจำและทำซ้ำลำดับการกะพริบของแสงสีและเสียงที่เพิ่มขึ้น การออกแบบนี้จัดทำขึ้นเป็นพิเศษเพื่อให้พกพาได้และประหยัดพื้นที่บน Breadboard ขนาดเล็ก
การกำหนดค่า Hardware
- Arduino Nano: หัวใจหลักของโปรเจกต์นี้ ถูกเลือกเนื่องจากมีขนาดเล็กและเข้ากันได้กับ Breadboard
- LEDs (Red, Green, Blue, Yellow): เชื่อมต่อกับ Digital Pins 8 ถึง 11 แต่ละ LED สอดคล้องกับส่วนหนึ่งของลำดับ
- Push Buttons: Buttons สี่ตัวเชื่อมต่อกับ Digital Pins 4 ถึง 7 สิ่งเหล่านี้ทำหน้าที่เป็น Interface สำหรับผู้เล่นในการป้อนลำดับ
- Piezo Buzzer: ให้เสียง Feedback โดยเล่นโทนเสียงเฉพาะสำหรับการเคลื่อนไหวที่ถูกต้องและไม่ถูกต้อง รวมถึงโน้ตที่แตกต่างกันสำหรับการกะพริบของ LED แต่ละดวง
- 1k Ohm Resistors: ใช้เพื่อจำกัดกระแสที่ไหลผ่าน LED แต่ละตัวเพื่อป้องกันไม่ให้ไหม้
Logic ของเกมและขั้นตอนการทำงาน
- Startup: เกมจะเริ่มในสถานะ Idle การกด Button ที่กำหนดจะเริ่มต้นเกมพร้อมเสียง ในขณะที่ Button อีกตัวสามารถเริ่มเกมในโหมดเงียบได้
- Pattern Generation: Arduino จะสร้างลำดับสีแบบสุ่ม ในแต่ละรอบ มันจะกะพริบลำดับให้ผู้เล่นเห็น
- Player Input: ผู้เล่นจะต้องกด Buttons ที่สอดคล้องกันตามลำดับที่ถูกต้อง
- การตรวจสอบ:
- หากการป้อนข้อมูลถูกต้อง Arduino จะเล่น "Happy Beep" และเพิ่มอีกหนึ่งขั้นตอนในลำดับสำหรับรอบถัดไป
- หากการป้อนข้อมูลไม่ถูกต้อง จะมีการเล่น "Sad Tone" ลำดับจะถูกล้าง และเกมจะรีเซ็ต
- การปรับระดับความยาก: เมื่อผู้เล่นดำเนินการไปเรื่อยๆ ลำดับจะยาวขึ้นและเร็วขึ้น เพื่อทดสอบขีดจำกัดของหน่วยความจำของผู้เล่น
การออกแบบที่กะทัดรัด
ด้วยการใช้ Arduino Nano และ Mini Breadboard วงจรทั้งหมดจะพอดีกับพื้นที่ขนาดเท่าฝ่ามือ ทำให้เป็นโปรเจกต์ที่ยอดเยี่ยมสำหรับการเรียนรู้เกี่ยวกับ Arrays, Random Number Generation และ Switch/Button Debouncing ในการเขียนโปรแกรม Arduino