กลับไปหน้ารวมไฟล์
6-player-buzzer-game-bde804.md

พวกพี่กับเพื่อนๆ ชอบเล่นเกมตอบคำถามกันมาก แต่ปัญหาคือเราไม่เคยรู้ว่าใครกดปุ่มตอบก่อนกัน! เลยทำกล่องเกมนี้ขึ้นมา มันใช้ไฟ LED และเสียงเอฟเฟกต์ 6 แบบ เพื่อบอกว่าใครกดปุ่มตอบก่อนกันแน่ แถมยังมีปุ่มปรับค่า (Potentiometer) สำหรับตั้งเวลาที่ผู้เล่นจะต้องตอบคำถามด้วย

Quiz Master: ระบบปุ่มตอบ 6 ผู้เล่น

จัดคืนตอบคำถามอยู่เหรอ? ระบบปุ่มตอบ 6 ผู้เล่น ตัวนี้จะช่วยให้ยุติธรรมสุดๆ มันตรวจจับได้ว่าใครกดปุ่มก่อนกัน แม้จะต่างกันแค่ไมโครวินาที ก็ยังรู้ หมดปัญหาถกเถียงกันว่า "กดพร้อมกัน"

ระบบล็อกผู้กดก่อน

โค้ดของพี่ทำงานด้วยลูปสแกนที่เร็วมากๆ:

  1. สแกนปุ่ม: Arduino จะสแกนขา Digital 2 ถึง 7 อย่างรวดเร็ว
  2. ล็อกระบบ: ทันทีที่มีคนกดปุ่ม (เช่น ผู้เล่น 3) Arduino จะหยุดสแกนทันที เข้าสู่ "สถานะล็อก" ซึ่งจะเปิดไฟ LED ของผู้เล่น 3 และไม่รับค่าจากปุ่มอื่นอีก
  3. รีเซ็ต: พิธีกรจะมีปุ่ม "รีเซ็ต" (สถานะ 'Clear') สำหรับรีเซ็ตระบบเพื่อคำถามต่อไป

โปรเจกต์นี้สอนเรื่องการป้องกัน "เงื่อนไขการแข่งกัน (Race Conditions)" ในโค้ด และการอ่านอินพุตจำนวนมากพร้อมกัน เอาไปใช้ได้อีกเพียบ!

อุปกรณ์ที่ต้องใช้

  • Arduino Uno/Nano: ตัวตัดสิน
  • ปุ่มอาร์เคดใหญ่ (x6): ให้ผู้เล่นทุบตอบ
  • LED (x6): วางใกล้ๆ แต่ละผู้เล่นเพื่อบอกว่าใครกดก่อน
  • Piezo Buzzer: สำหรับเสียง "ติ้ง!" สไตล์เกมโชว์
  • ปุ่มรีเซ็ต: สำหรับพิธีกร

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

apps:
  - "1x Arduino IDE"
author: "renzosmania"
category: "Gadgets, Games & Toys"
components:
  - "1x Pushbutton Switch, Momentary"
  - "1x USB-A to Mini-USB Cable"
  - "1x Soldering iron (generic)"
  - "1x LED (generic)"
  - "1x DC Power Connector, Socket"
  - "1x Resistors"
  - "1x Arduino Nano R3"
  - "1x dc Cable"
  - "1x wooden box"
  - "1x Drill, Screwdriver"
  - "1x Rotary potentiometer (generic)"
  - "1x Solder Wire, Lead Free"
description: "จบปัญหาเถียงกันว่าใครกดปุ่มตอบก่อน! ระบบนี้มี LED 6 ดวง แสดงตัวผู้เล่นที่กดปุ่มได้เร็วสุดแบบจัดไป งานง่ายแต่หล่อ ใช้ Arduino กับ Interrupt จัดการ แค่กดปุ๊บ ตอบปั๊บ รู้ผลทันที!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/af8878f4-9b6c-44f0-b2ab-8a59c67d1fd1.ino"
  - "https://projects.arduinocontent.cc/af8878f4-9b6c-44f0-b2ab-8a59c67d1fd1.ino"
encryptedPayload: "U2FsdGVkX19YzaCHdkY1GoWUXCoI5UPb89JKE/YYIDe3sZ7YcivwFmcEi0mCUDg9LqWBJVv0nU4tFeyzd8mdBKBfEnm92wSv61KMc6Im8qQYZPCpQAHBo6UfPvljzs8uHA61WltphE5navYope2X0iFZXxUdcFDL7Vz3aRTILaSXwiv/sA1wCCLZ8wOu4enzTCqv3pb6y+34sHsM4djeQlMIL2svPEl9MJglGnRey1B29Q7kDWlrRa4NEtk2BMFECNKVa5NAD/nRgGlbCIKF8w=="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/6-player-buzzer-game-bde804_cover.jpg"
lang: "en"
likes: 1
passwordHash: "ea25843d0b0d07860504fb3681aacc2a31b70fb652f1fe91fc8e90fe1bdce196"
price: 1120
seoDescription: "Build a 6 Player Buzzer-Game with Arduino. Features 6 LEDs to identify the first person to press the Buzzer during a quiz."
tags:
  - "game"
  - "easy"
  - "buzzer"
  - "play"
  - "six"
title: "เกมกดปุ่มตึงๆ 6 ผู้เล่น ใครไวใครชนะ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/US4uxCl5pIo"
views: 18054