โปรเจกต์: B1TS to HEX game
โปรเจกต์สุดท้ายสำหรับคอร์ส Arduino Basics ปี 2025 ที่ SENAC Ribeirão Preto - ประเทศบราซิล
เกมนี้ประกอบด้วยการแปลงตัวเลขไบนารี 4 บิต ให้เป็นค่าฐานสิบหก (hexadecimal) ให้เร็วที่สุดเท่าที่จะทำได้ (ค่าสูงสุดคือ F)
ผู้เล่นมีเวลา 99 วินาที ในการอ่านตัวเลขไบนารี 4 บิต ทั้งหมด 16 ตัว แปลงเป็นค่าฐานสิบหก และค้นหาคำตอบที่ถูกต้องโดยการกดปุ่ม UP และยืนยันคำตอบโดยการกดปุ่ม OK
ตัวเลขไบนารีจะแสดงผลทั้งบน LCD และ leds
ผู้เล่นที่ดีที่สุดคือผู้ที่ตอบการแปลงตัวเลขทั้งหมดได้อย่างถูกต้องก่อนที่เวลาจะหมดลง
สถาปัตยกรรมของโปรเจกต์นี้อิงตามแนวคิด MVC : โดยใช้ Game.h สำหรับ Model , ShowState.h สำหรับ View และ StateMachine.h สำหรับ Controller
รายละเอียดทางเทคนิคเพิ่มเติม
ฮาร์ดแวร์เพื่อการศึกษาด้านวิทยาการคอมพิวเตอร์
B1TS to HEX เป็นเกมปริศนาแบบโต้ตอบที่ออกแบบมาเพื่อสอนพื้นฐานของการแปลงเลขฐานสองเป็นฐานสิบหกผ่านการเล่นแบบสัมผัส
- Binary Input Matrix: ประกอบด้วยสวิตช์สลับคุณภาพสูง 8 ตัว แทน "Byte" (8 bits) หนึ่งไบต์ เมื่อผู้ใช้พลิกสวิตช์ Arduino จะคำนวณค่า Hexadecimal ที่สอดคล้องกันแบบเรียลไทม์
- Dynamic Challenge Engine: ระบบจะสร้างค่า Hex เป้าหมายบน I2C OLED screen ที่มีความคมชัดสูง ผู้ใช้จะต้องปรับตำแหน่งสวิตช์ให้ตรงกับเป้าหมายภายในระยะเวลาที่กำหนด ซึ่งจะเพิ่มความยากขึ้นเมื่อพวกเขาก้าวหน้าในเกม
การแสดงภาพเชิงตรรกะ
- Bitwise Shifting Core: เฟิร์มแวร์ใช้การดำเนินการแบบ bitwise (
<<และ|) เพื่อประกอบอินพุตไบนารี 8 บิต ให้เป็นจำนวนเต็มทศนิยมตัวเดียวสำหรับการเปรียบเทียบที่มีประสิทธิภาพ ซึ่งเป็นบทเรียนพื้นฐานในการจัดการข้อมูลระดับต่ำ