เมื่อก่อนพี่เคยดูวิดีโอของคนที่ทำการ์ดจอ VGA ขึ้นมาเอง เลยเกิดอาการอยากทำอะไรสักอย่างกับ VGA ขึ้นมา แต่ตอนนั้นยังไม่มีความรู้พอ ก็เลยมาจบที่โปรเจกต์วงจรง่ายๆ แบบนี้แหละน้อง พอทำเสร็จแล้วก็เริ่มเบื่อกับข้อความบนจอที่มันนิ่งๆ เลยคิดว่า... มาทำเกมกันดีกว่า! พี่ไม่ใช่คนที่สร้างสรรค์สุดๆ หรอกนะ แต่พี่มีเพื่อนที่เคยเล่นเกมสนุกๆ เกมนึง เลยเอามาทำใหม่ แล้วยัดลงไปในจอ VGA นี้แหละ
ไลบรารีที่ต้องใช้อยู่ตรงนี้เลยน้อง ต้องมี vga กับ Adafruit graphics ด้วยนะ
รายละเอียดเทคนิคแบบจัดเต็ม
การสร้างวิดีโอสไตล์ 8-Bit รีโทร
โปรเจกต์ VGA Boulder Crash นี้คือการทดสอบขีดจำกัดของ Arduino ด้วยการสร้างสัญญาณวิดีโอ VGA แบบเรียลไทม์ทั้งหมดผ่านซอฟต์แวร์ล้วนๆ
- จังหวะสัญญาณความเร็วสูง: ใช้ไลบรารี VGAx หรือ TVout ในการ "bit-bang" สัญญาณพัลส์ "HSYNC" และ "VSYNC" ที่จอมาตรฐานต้องการ ต้องเขียนโค้ดที่แม่นยำระดับไซเคิลเพื่อให้ภาพนิ่งที่ความละเอียด 640x480 (ความละเอียดที่เรนเดอร์จริงข้างในจะต่ำกว่านี้)
- ลอจิกฟิสิกส์และการชน: จัดการเกมเอนจิ้นง่ายๆ ที่ให้ "Boulders" (ภาพบิตแมป) ตกลงมาจากด้านบนของจอ Arduino จะคำนวณการชนแบบ bounding-box ระหว่างผู้เล่นกับก้อนหินในทุกเฟรม
ด้านฮาร์ดแวร์
- R-2R Resistor DAC: โชว์จุดเด่นของการใช้เครือข่ายตัวต้านทานง่ายๆ เพื่อแปลงสัญญาณดิจิทัลจากพินของ Arduino ให้เป็นสัญญาณสีอะนาล็อก $(R, G, B)$ ตามมาตรฐาน VGA