ตู้เกมจิ๋ว: OLED Pong
เกม OLED Pong นี่แหละคือความจ๊าบของการย่อส่วนว่ะน้อง แค่ใช้ I2C protocol กับ display libraries เทพๆ ก็รันกราฟิกเนียนๆ ระดับ 60 FPS บนจอที่เล็กกว่าแสตมป์ได้แล้ว บอกเลยว่าเฟี้ยวจัด

Graphic Engine บน Arduino
การจะขับจอ OLED ให้เนียนตา มันต้องมีสิ่งที่เรียกว่า "Frame Buffer" นะเว้ย
- The Buffer: ตัว Arduino จะจองพื้นที่ SRAM (ประมาณ 1024 bytes สำหรับจอ 128x64) ไว้ทำหน้าที่เป็นผืนผ้าใบล่องหน
- Drawing: เราจะใช้พวก Function อย่าง
display.fillRect()มาคำนวณคณิตศาสตร์หาตำแหน่งไม้ตีกับลูกบอล แล้วไปแก้ค่า bits ในผ้าใบลับนั่นแหละ - The Push: พอเราสั่ง
display.display()ปุ๊บ มันจะยิงข้อมูลรวดเดียว 1024 bytes ไปที่จอ OLED ในเสี้ยววินาที จนเกิดเป็นภาพเคลื่อนไหวลื่นๆ ให้เราเห็นไงล่ะน้อง
อุปกรณ์ที่ต้องจัด (ห้ามลืมนะวัยรุ่น)
- Arduino Uno/Nano: ตัวประมวลผลหลัก สู้งานนะน้องตัวนี้
- 0.96" I2C OLED (SSD1306): จอจิ๋วแต่แจ๋ว ห้ามต่อผิด Pins นะ เดี๋ยวควันขึ้น
- Two Potentiometers: วอลลุ่ม 2 ตัว เอาไว้เลื่อนไม้ขึ้น-ลงตามแนว Y-axis
- A piezo buzzer: เอาไว้ทำเสียง "ติ๊ดๆ" เวลาลูกบอลเด้ง เพิ่มความเร้าใจ
ทำไมต้องใช้ Potentiometers?
ถามว่าใช้ปุ่มกดได้ไหม? ได้แหละ แต่ Potentiometers มันให้ Analog input ที่เนียนกว่าเยอะ ตัว ADC ของ Arduino จะเปลี่ยนค่าจากการหมุน (0-1023) ให้กลายเป็นพิกัด Y ของไม้ตี (0-64) ได้โดยตรงเลย ได้ฟีลเหมือนหมุนตู้เกม Arcade ยุค 70 คลาสสิกสุดๆ หล่อเท่เลยงานนี้!