กลับไปหน้ารวมไฟล์
arduino-connect-4-game-human-vs-microcontroller-34cf6c.md

ชื่อโปรเจกต์: เกม Connect 4 ด้วย Arduino: มนุษย์ vs. ไมโครคอนโทรลเลอร์

Connect Four เป็นเกมวางแผนสำหรับผู้เล่นสองคน ซึ่งผู้เล่นผลัดกันหยอดแผ่นดิสก์สีลงในตารางแนวตั้ง เป้าหมายของเกมคือการเชื่อมต่อแผ่นดิสก์สีเดียวกันของตนเองให้ได้สี่ชิ้นในแนวตั้ง แนวนอน หรือแนวทแยง ก่อนที่คู่ต่อสู้จะทำได้

ใน วิดีโอ ก่อนหน้านี้ของผม ผมได้อธิบายวิธีการสร้างเกมแบบนี้บนหน้าจอสัมผัส TFT ไปแล้ว ครั้งนี้ผมจะมาอธิบายวิธีสร้างเกม Connect4 บน 8 x 8 pixel matrix โดยใช้ 5050 type LEDs ที่มีชิป WS2812B ในตัว

นอกจากนี้ ตอนนี้เรามีโหมดเกมสองโหมด ได้แก่ ผู้เล่น vs ผู้เล่น และ ผู้เล่น vs microcontroller คุณสามารถดูโค้ดต้นฉบับได้ที่ AZdelivery :

และต่อมาโค้ดนี้ได้รับการปรับปรุงโดย Mr. Küster โดยเพิ่มความสามารถในการเล่นกับ microcontroller เข้าไปด้วย ผมยังได้เพิ่มเสียงง่ายๆ โดยใช้ไลบรารี "NewTone" ทำให้เกมมีความน่าสนใจมากยิ่งขึ้น

นอกเหนือจากนั้น อุปกรณ์นี้ประกอบง่ายมาก และประกอบด้วยส่วนประกอบหลายอย่างได้แก่:

- Arduino Nano microcontroller

- 8x8 RGB matrix พร้อมชิป LED WS2812

- ปุ่มกดสามปุ่ม

- และ Buzzer

สำหรับ LED matrix ผมยังได้สร้างกริดเฉพาะด้วย 3D Printer เพื่อให้ได้ภาพที่สวยงามยิ่งขึ้น กระดาษไขถูกวางบนกริดเพื่อกระจายแสง และจากนั้นก็เป็นฟิล์มใสป้องกัน

มาดูกันว่าเกมทำงานอย่างไรในความเป็นจริง:

หลังจากเริ่มต้นอุปกรณ์ ด้วยปุ่มซ้ายเราจะเลือกโหมดผู้เล่น vs ผู้เล่น ในขณะที่ปุ่มขวาจะเลือกโหมดผู้เล่น vs microcontroller ในโหมดผู้เล่น vs ผู้เล่น สีเริ่มต้นจะเปลี่ยนไปในแต่ละเกมใหม่ และในโหมดผู้เล่น vs microcontroller ผู้เล่นจะได้สีแดงเสมอและเริ่มเกมแรก หลังจากนั้น ผู้แพ้จะเป็นผู้เริ่มเสมอ ก่อนอื่นเราจะเริ่มเกมผู้เล่นกับ microcontroller ซึ่งจะระบุด้วยเสียงโทนสูงต่อเนื่อง ผู้เล่นเป็นสีแดงและเริ่มก่อน ในตอนท้าย หาก microcontroller ชนะ จอแสดงผลจะแสดงภาพใบหน้ายิ้ม และหากผู้เล่นชนะ ภาพจะแสดงใบหน้าที่เศร้า

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

อุปกรณ์นี้ถูกประกอบลงในกล่องจากโปรเจกต์ก่อนหน้านี้ของผม ซึ่งทำจากแผ่น PVC หนา 3 และ 5 มม. บุด้วยวอลเปเปอร์สีชนิดมีกาวในตัว

รายละเอียดทางเทคนิคเพิ่มเติม

การโต้ตอบกับเกม AI เชิงกลยุทธ์

โปรเจกต์นี้ใช้ตรรกะเกม "Connect 4" แบบคลาสสิกบนอินเทอร์เฟซดิจิทัล โดยมีคู่ต่อสู้ AI "Smart" ที่เล่นกับผู้ใช้

  • การนำ Minimax Game-Tree มาใช้: Arduino รัน Minimax algorithm แบบง่าย สำหรับทุกเทิร์น เฟิร์มแวร์จะ "มองไปข้างหน้า" 3-5 ตาเดิน เพื่อประเมินว่าคอลัมน์ใดมีโอกาสสูงสุดที่จะชนะ "Four-in-a-Row"
  • แผงเกม LED แบบโต้ตอบ: ใช้ 8x8 LED Matrix หรือ 7x6 grid ของ NeoPixels ที่ปรับแต่งเอง Arduino จัดการ "Falling Animation" ของตัวหมาก และระบุผู้ชนะด้วยลำดับการกะพริบ

การโต้ตอบ

  • การสแกน Input Matrix: ผู้ใช้เลือกการเดินของตนเองโดยใช้ rotary encoder ทางกายภาพ หรือปุ่มต่างๆ ซึ่ง Arduino จะให้สัญญาณเสียงสำหรับการเดินแต่ละครั้ง

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

title: "Arduino Connect 4 Game Human vs Microcontroller"
description: "Connect4 game on an 8 x 8 pixel matrix with 5050 type LEDs"
author: "mircemk"
category: "Gadgets, Games & Toys"
tags:
  - "Games"
  - "Audio"
views: 2355
likes: 1
price: 2450
difficulty: "Easy"
components:
  - "1x Piezo Buzzer"
  - "1x 8*8 led matrix"
  - "1x Push Button"
  - "1x Soldering kit"
  - "1x Arduino Nano"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "b6eb6d16f9fd7bbf9eb7473e854ee469c272f240fd7312228cfb4b7d0610717b"
encryptedPayload: "U2FsdGVkX19V4VEtHCm1CkW/cj2ZaBG5UiLL9gQaSbUJMNeGyAec4p7jOEqc9EfagG7B2jvdW5y1Z/aw0JCHbJpVxriqLgR7zbiCL1G8Sl8="
seoDescription: "Build an Arduino Connect4 game with an 8 x 8 pixel matrix and 5050 type LEDs. Play Human vs Microcontroller in this DIY project."
videoLinks:
  - "https://youtu.be/4c123jpPZYk"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-connect-4-game-human-vs-microcontroller-34cf6c_cover.jpg"
lang: "th"