การเรียงลำดับ SPI ขนาดใหญ่: 32x8 LED Matrix
เมทริกซ์ 8x8 เดี่ยว ๆ นั้นเรียบง่าย แต่การเชื่อมต่อเมทริกซ์สี่ตัวเข้าด้วยกันเป็นป้ายประกาศเลื่อน 32 คอลัมน์ขนาดใหญ่ที่ต่อเนื่องกันนั้น ต้องอาศัยการจัดการนาฬิกาฮาร์ดแวร์ของ SPI (Serial Peripheral Interface) อย่างเข้มงวด จอแสดงผลข้อมูล 32x8 LED Matrix ด้วย Arduino นี้ใช้ไลบรารี <MD_MAX72xx.h> เพื่อดำเนินการเลื่อนไบต์แบบเรียงลำดับผ่านชิป MAX7219 สี่ตัว ทำให้สามารถเลื่อนข้อความขนาดใหญ่ได้อย่างราบรื่นโดยเฉพาะสำหรับตัวนับผู้ติดตาม YouTube หรือตัวแสดงราคา Bitcoin!

การกำหนดค่าฮาร์ดแวร์ Matrix (MD_Parola)
ไลบรารีมาตรฐานจะใช้งานไม่ได้เลย หากบล็อกฮาร์ดแวร์ทั่วไปจากจีนมีการต่อสายภายในที่แตกต่างกัน!
- กับดักสถาปัตยกรรม: โมดูล Matrix เหล่านี้มีดีไซน์ PCB ที่แตกต่างกันถึง 4 แบบ (
FC-16, PAROLA, GENERIC) หากคุณเลือกผิด ข้อความจะถูกสะท้อนกลับด้าน คว่ำลง และเลื่อนไปด้านหลังอย่างรุนแรง! - คุณต้องระบุ Hardware Type ที่แน่นอนในเอนจิน MD_Parola ที่น่าทึ่งนี้!
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW // The most common generic red board!
#define MAX_DEVICES 4 // Tell the Uno it has 4 chips to traverse!
#define CS_PIN 10
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
อัลกอริทึมการเลื่อนข้อความแบบ Non-Blocking
คุณไม่สามารถใช้ delay() ครอบฟังก์ชัน display() ทั่วไปได้ มิฉะนั้น Arduino Uno จะค้างสนิท และคุณจะไม่สามารถอัปเดตข้อมูลข้อความจาก Internet ได้!
- ไลบรารี
MD_Parolaใช้การจับเวลาแบบ Non-Blocking ที่เข้มข้น! - ฟังก์ชัน
myDisplay.displayAnimate()ถูกใส่ไว้ในloop()อย่างอิสระ - ทุกมิลลิวินาที โค้ด C++ จะถามว่า: ถึงเวลาที่จะเลื่อนพิกเซลไปทางซ้ายหนึ่งคอลัมน์แล้วหรือยัง?
- หากใช่ มันจะเลื่อนไปยัง
Device 2, Device 3ซึ่งโปรแกรมเมอร์ไม่ต้องรับรู้ถึงรายละเอียด! - การป้อนข้อมูล: คุณสามารถเรียกใช้
myDisplay.displayText("HELLO WORLD!", PA_CENTER, 100, 1000, PA_SCROLL_LEFT, PA_SCROLL_LEFT);และบล็อกข้อความขนาดใหญ่จะเลื่อนจากขวาไปซ้ายได้อย่างสวยงาม!
ข้อกำหนดสำหรับแบนเนอร์ขนาดใหญ่
- Arduino Uno/Nano (ฟังก์ชันการทำงานมาตรฐาน)
- บล็อกจอแสดงผล 32x8 (4-In-1) MAX7219 Dot Matrix (ห้ามต่อบล็อก 8x8 สี่บล็อกแยกกันด้วยสาย jumper ที่หลวม ควรซื้อ PCB ขนาดใหญ่ที่เป็นชิ้นเดียวซึ่งมี 4 เมทริกซ์บัดกรีอยู่แล้ว มิฉะนั้นสัญญาณนาฬิกา SPI จะเสื่อมสภาพลง!)
- แหล่งจ่ายไฟภายนอก 5V 3-Amp (หาก LED สีแดง 256 ดวงสว่างจ้าพร้อมกันทั้งหมดในเวลาเดียวกัน อาจทำให้พอร์ต USB มาตรฐานเสียหายอย่างรุนแรงได้!)