กลับไปหน้ารวมไฟล์
circuit-completion-game-with-buzzer-d6c3ca.md

ความคล่องแคล่วทางกายภาพ: เกมต่อวงจร Buzz-Wire

เกมงานวัดสุดคลาสสิก "ห้ามแตะสายไฟ" โดยพื้นฐานแล้วเป็นบทเรียนในการสร้างวงจรลัด (short-circuit) ทางไฟฟ้าโดยเจตนา Circuit Completion Game ขยายแนวคิดง่ายๆ นั้น มันไม่ได้แค่ส่งเสียง Buzz เท่านั้น แต่ยังติดตามจำนวนชีวิตของผู้เล่น จับเวลาความเร็วในการเล่นโดยใช้ millis() clock และจัดอันดับความสัมพันธ์ระหว่างมือกับตาของผู้เล่นทางคณิตศาสตร์แบบ Native บน Arduino!

button_led_basic_interaction_1772681969235.png

การจัดการวงจรลัดทางไฟฟ้า

ตรรกะนี้อ้างอิงจากแนวคิดของ INPUT_PULLUP โดยสิ้นเชิง

  1. เขาวงกตลวดขนาดยักษ์ (ตัวเส้นทาง) ถูกบัดกรีทางกายภาพโดยตรงเข้ากับ GND pin ของ Arduino
  2. ไม้กายสิทธิ์โลหะของผู้เล่น (วงแหวน) เชื่อมต่อสายไฟโดยตรงเข้ากับ Pin 2
  3. ในซอฟต์แวร์: pinMode(2, INPUT_PULLUP); ตัวต้านทานภายในจะบังคับให้ Pin 2 อ่านค่าเป็น HIGH อย่างชัดเจน
  4. ตัวแปรการชน: ในขณะที่ไม้กายสิทธิ์ของผู้เล่นบังเอิญสัมผัสเขาวงกตโลหะขนาดใหญ่ เส้นทางไฟฟ้าจะปิด Pin 2 จะลดลงเป็น LOW ทันที

การสร้างระบบ 'ชีวิต' แบบ Debounced

ส่วนที่ยากที่สุดของโค้ดนี้คือการป้องกันไม่ให้ Arduino นับการแตะเพียงเล็กน้อยครั้งเดียวว่าเป็นความล้มเหลวสิบล้านครั้ง!

  • if (digitalRead(WandPin) == LOW) { ... }
  • Uno อ่านค่า Pin 2 ได้หลายล้านครั้งต่อวินาที หากคุณแตะสายไฟครึ่งวินาที Uno จะนับว่าเป็นการ "แตะ" 500,000 ครั้งและจบเกมทันที!
  • ตรรกะ Debounce: คุณต้องใช้ตัวจับเวลาล็อคเอาต์ทางคณิตศาสตร์เข้ามาช่วย
if (digitalRead(WandPin) == LOW && (millis() - lastStrike > 1000)) { 
  // เรียกใช้งานก็ต่อเมื่อผ่านไป 1000 มิลลิวินาทีเต็ม ตั้งแต่การชนครั้งล่าสุด!
  lastStrike = millis(); 
  lives = lives - 1; 
  tone(BuzzerPin, 200, 500); // เล่นเสียงผิดพลาด 200Hz ที่ไม่น่าฟัง!
}
  • ถ้า lives == 0, Arduino จะล็อคสถานะเกม เปลี่ยน LEDs เป็นสี Red และเล่นเมโลดี้ "Game Over" แบบไล่ระดับลง!

ฮาร์ดแวร์ที่จำเป็นสำหรับเกม Wire

  • Arduino Uno/Nano
  • สายทองแดงเปลือยขนาดใหญ่ 12 AWG (ดัดให้เป็นรูปทรงที่น่ากลัวและบิดเบี้ยวด้วยคีม)
  • ลวดโลหะแข็งขนาดเล็ก ดัดเป็นวงแหวนสำหรับไม้กายสิทธิ์ของผู้เล่น
  • Piezo Buzzer สำหรับเสียงเตือน (การลงโทษด้วยเสียง)
  • ชุด Red LEDs 3 ดวง เพื่อแสดงจำนวนชีวิตที่เหลือของผู้เล่นด้วยภาพ!

ข้อมูล Frontmatter ดั้งเดิม

title: "Circuit Completion Game with Buzzer"
description: "The steady hand challenge! Construct the classic carnival 'buzz-wire' game, utilizing floating pins and internal pull-up logic to detect microscopic metal-on-metal collision events."
category: "Gaming & Entertainment"
difficulty: "Easy"