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

ความคล่องแคล่วทางกายภาพ: Circuit Completion Buzz-Wire

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

button_led_basic_interaction_1772681969235.png

การควบคุมการลัดวงจรไฟฟ้า

ตรรกะนี้อิงตามแนวคิด INPUT_PULLUP โดยสมบูรณ์

  1. เขาวงกตลวดขนาดใหญ่ (เส้นทาง) จะถูกบัดกรีโดยตรงเข้ากับขา GND ของ 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)) { 
  // Only trigger if a full 1000 milliseconds have passed since the LAST strike!
  lastStrike = millis(); 
  lives = lives - 1; 
  tone(BuzzerPin, 200, 500); // Play an ugly 200Hz error note!
}
  • หาก lives == 0 Arduino จะล็อคสถานะเกม เปลี่ยน LED เป็นสีแดง และเล่นเพลง "Game Over" ที่มีทำนองลดหลั่นกัน!

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

  • Arduino Uno/Nano.
  • ลวดทองแดงเปลือยขนาดใหญ่ 12 AWG (ดัดให้เป็นรูปทรงที่น่ากลัวและบิดเบี้ยวโดยใช้คีม)
  • ลวดโลหะแข็งขนาดเล็กกว่า ดัดเป็นห่วงสำหรับไม้กายสิทธิ์ของผู้เล่น
  • Piezo Buzzer สำหรับการลงโทษด้วยเสียง
  • LED สีแดง 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"