ชื่อโปรเจกต์: จำลองการทำงาน 8X8 Matrix Display | Arduino & Android App
ในบทเรียน Arduino อันนี้ พี่จะพาน้องๆ ไปดูวิธีคุม 8×8 LED Matrix โดยใช้ Driver เบอร์เทพอย่าง MAX7219 คู่กับบอร์ด Arduino แถมงานนี้ไม่ได้มาเล่นๆ เพราะเราจะเชื่อมต่อ Proteus Simulation เข้ากับ Android App ด้วย หล่อเท่เลยงานนี้!
ไฟล์ Proteus, Arduino code, Bluetooth Library, และ MaxMatrix Library สำหรับ Arduino IDE
Android App
เจาะลึกด้านเทคนิคสไตล์รุ่นพี่
หลักการ Matrix Multiplexing
ถ้าจะให้น้องต่อ LED 64 ดวง (8x8) แยกกันทีละ Pins บอกเลยว่า Pins บนบอร์ดไม่พอใช้แน่นอน โปรเจกต์นี้เราเลยต้องใช้เทคนิค Multiplexing หรือใช้ Driver อย่าง MAX7219 มาช่วยทุ่นแรง
- Scanning: ตัว Arduino จะทำการกวาด Row และ Column อย่างไว พอเราสั่งเปิด LED เฉพาะจุดด้วยความถี่สูงๆ ตาคนเราจะมองเห็นว่ามันสว่างนิ่งเป็นรูปภาพเอง (เขาเรียกว่า Persistence of Vision หรือภาพติดตานั่นแหละน้อง)
- Communication Protocol: คำสั่งต่างๆ จะถูกส่งผ่าน Bluetooth module (HC-05) รับมาจาก Android App ที่เราเตรียมไว้
การทำงานร่วมกับ Android
ตัว Mobile App จะทำหน้าที่เป็นหน้าจอ Interface เท่ๆ ไว้คอยส่งข้อมูล Byte (ส่วนใหญ่เป็นชุดข้อมูล 64-bit หรือ 8 Bytes) ที่บอกสถานะของ LED แต่ละดวงมาให้ จากนั้น Arduino ก็จะรับมา Decode แล้ว Update ข้อมูลลง Display buffer แบบ Real-time จะวาดรูปสดๆ หรือสั่งเลื่อนข้อความผ่านสมาร์ทโฟนก็จัดไปวัยรุ่น!