Lcd I2C Video game!!
ผมอยากจะสร้างระบบเกมวิดีโอมาโดยตลอด และเมื่อผมได้ยินเกี่ยวกับ Arduino ผมก็พยายามอย่างมากที่จะสร้างมันขึ้นมา และนี่คือผลงานครับ!
ภาพรวมฮาร์ดแวร์
ระบบเกมพกพานี้ใช้ Arduino Uno ทำงานร่วมกับ 16x2 Alphanumeric LCD ที่มี I2C interface I2C module มีความสำคัญอย่างยิ่ง เนื่องจากมันช่วยลดความซับซ้อนของการต่อสายแบบขนานของ LCD ทั่วไป (ซึ่งโดยปกติแล้วต้องใช้ 12 พินหรือมากกว่า) ให้เหลือเพียงสี่การเชื่อมต่อหลักเท่านั้น ได้แก่ ไฟเลี้ยง (VCC), กราวด์ (GND), และสายข้อมูล I2C (SDA และ SCL)
การเชื่อมต่อวงจร
การเดินสายไฟถูกออกแบบมาเพื่อความเรียบง่ายและพกพาได้สะดวก:
- LCD I2C Module:
- VCC ต่อกับ Arduino 5V
- GND ต่อกับ Arduino GND
- SDA ต่อกับ Arduino Pin A4 (Standard I2C Data)
- SCL ต่อกับ Arduino Pin A5 (Standard I2C Clock)
- การควบคุมอินพุต:
- Push Button เพียงตัวเดียวเชื่อมต่ออยู่ระหว่าง Arduino Pin 2 และ Ground ปุ่มนี้ทำหน้าที่เป็นตัวกระตุ้นหลักในการ "กระโดด" หรือ "แอคชั่น" สำหรับกลไกของเกม
กลไกของเกม
เกมนี้มักจะทำงานเป็นแบบ "side-scroller" ที่ตัวละคร (มักจะเป็นตัวละคร 'running man' ที่กำหนดเอง ซึ่งสร้างขึ้นโดยใช้ byte arrays บน LCD) จะต้องกระโดดข้ามสิ่งกีดขวางที่กำลังเข้ามา ไลบรารี LiquidCrystal_I2C ใช้สำหรับจัดการการอัปเดตจอแสดงผล ในขณะที่ฟังก์ชัน millis() หรือ delay() ภายในของ Arduino จะประสานเวลาในการเคลื่อนที่ของสิ่งกีดขวาง
วิธีเล่น
เมื่อวงจรได้รับพลังงานผ่านแบตเตอรี่ 9V หรือ USB เกมจะเริ่มต้นบนหน้าจอ LCD เมื่อสิ่งกีดขวางเคลื่อนที่จากขวาไปซ้าย ผู้เล่นจะต้องกด push button ในเวลาที่เหมาะสมเพื่อกระโดด คะแนนมักจะแสดงผลแบบเรียลไทม์ที่บรรทัดที่สอง หรือหลังจากเกมจบลง