อีกแล้ว ตามชื่อเลยนะน้อง งานนี้คือโปรเจกต์พื้นฐานสุดๆ สำหรับโมดูล MAX7219 LED matrix เอาไว้ให้พวก ArduiNOOBS (หรือก็คือมือใหม่หัดขับ อย่างพี่ด้วย) ได้ลองเล่น
ในฐานะที่พี่ก็เป็น ArduiNOOBS คนนึงเหมือนกัน พี่เจอปัญหาหน่อยเวลาหาอ่าน Tutorial พื้นฐานสุดๆ สำหรับเจ้าโมดูลนี้ เพราะส่วนใหญ่ที่เจอ มักจะใช้หลายโมดูลพร้อมกัน แล้วทำอะไรที่มันดูซับซ้อนไปหน่อย (สำหรับพี่นะ 555)
เลยทำอันนี้ขึ้นมา จะได้ช่วยคนแบบพี่บ้าง
พี่แค่เอาโค้ดตัวอย่างชื่อ "LCDemoMatrix" จากไลบรารี่ LEDControl มา แล้วก็ปรับแต่งนิดหน่อยเอง
นี่คือลิงก์ GitHub ของไลบรารี่นะ: https://github.com/wayoda/LedControl
แล้วพี่ก็ใช้เว็บไซต์ LED Matrix Editor ด้วย
นี่คือลิงก์เว็บ: https://xantorohara.github.io/led-matrix-editor/
ใช้ง่ายมากเลยเว้ย
เชื่อพี่สิ
อ้อ ใช่ แล้วน้องก็ดาวน์โหลดไฟล์โปรเจกต์กับแผนภาพการต่อสายแบบเห็นภาพไปเล่นได้ด้วยนะ ถ้าอยากได้
นี่คือลิงก์: https://drive.google.com/file/d/1ssnGh_4yeGGy7iSAni7jdFozpmr3qRre/view?usp=sharing
******************************************************************************
******************************************************************************

รายละเอียดเทคนิคเพิ่มเติมแบบจัดเต็ม
เรื่อง Matrix Multiplexing แบบเข้าใจง่าย
โปรเจกต์นี้สำหรับมือใหม่โดยเฉพาะ (ArduiNOOBS) จะอธิบายวิธีควบคุม LED 64 ดวงโดยใช้แค่ 3 พินสำหรับส่งข้อมูล
- ไอซีขับ MAX7219: ไอซีตัวนี้แหละที่จัดการเรื่อง multiplexing อันหนักหน่วงให้หมด มันทำหน้าที่รีเฟรชเมทริกซ์ 8x8 ภายในตัวเอง ดังนั้น Arduino ของเราก็แค่ส่งข้อมูลไปตอนที่ต้องการเปลี่ยนสถานะของพิกเซลเท่านั้น
- โปรโตคอล SPI: ใช้ Serial Peripheral Interface (SPI) นะ โดยเราใช้ไลบรารี่
LedControlหรือMD_Parolaเข้ามาช่วยให้การจัดการการส่งข้อมูล (bit-shifting) ง่ายขึ้น
การสร้างภาพบนเมทริกซ์
- อาร์เรย์ Bitmap: อธิบายวิธีสร้างอาร์เรย์แบบไบนารีหรือฐานสิบหก (hex) เพื่อแทนไอคอนที่เราออกแบบเอง (เช่น หน้า smiley หรือรูปหัวใจ)
- การต่อแบบ Daisy-Chaining: แม้ว่าโปรเจกต์นี้จะเริ่มจากโมดูลเดียว แต่มันก็แสดงให้เห็นวิธีต่อโมดูล MAX7219 หลายๆ ตัวเข้าด้วยกันเป็นอนุกรม เพื่อสร้างจอแสดงผลตัวอักษรเลื่อนที่ใหญ่ขึ้นได้