ในโครงการนี้เราจะออกแบบจอแสดงผลเมทริกซ์ LED ขนาด 8x8ซึ่งเราจะเชื่อมต่อโมดูลเมทริกซ์ LED 8x8 กับ Arduino Uno เมทริกซ์ LED 8x8 ประกอบด้วยไฟ LED 64 ดวง (ไดโอดเปล่งแสง) ซึ่งจัดเรียงในรูปแบบของเมทริกซ์ดังนั้นชื่อเมทริกซ์ LED
เมทริกซ์เหล่านี้สามารถทำได้โดยการหมุนเวียนไฟ LED 64 ดวงอย่างไรก็ตามกระบวนการนั้นใช้เวลานาน วันนี้มีจำหน่ายในรูปแบบกะทัดรัดดังที่แสดงในภาพด้านล่าง โมดูลขนาดกะทัดรัดเหล่านี้มีให้เลือกหลายขนาดและหลายสี ค่าใช้จ่ายของโมดูลนั้นเท่ากับต้นทุนของ LED 64 ดวงดังนั้นสำหรับมือสมัครเล่นนี่เป็นวิธีที่ง่ายที่สุดในการทำงาน
เมทริกซ์ LED เปลือยมีขาออก 16 พินโดยมีค่าบวกทั่วไป 8 ตัวและค่าลบทั่วไปอีก 8 ตัว สำหรับการเชื่อมต่อเมทริกซ์นี้โดยตรงกับ UNO เราจำเป็นต้องสำรอง 16 พินบน UNO เมื่อพินเอาต์พุตต่ำที่ UNO เราไม่สามารถสำรอง 16 PINS ได้ ดังนั้นเราจำเป็นต้องเชื่อมต่อเมทริกซ์นี้กับชิปไดรเวอร์ ชิปไดรเวอร์นี้พร้อมกับเมทริกซ์มาเป็นชุดซึ่งแสดงไว้ในรูปด้านล่าง
โมดูลนี้จะเชื่อมต่อกับ Arduino เพื่อแสดงตัวอักษรดังนั้นการแสดงเมทริกซ์ ก่อนอื่นสำหรับการเชื่อมต่อเมทริกซ์ LED กับ Arduino เราต้องดาวน์โหลดไลบรารีที่ออกแบบมาเฉพาะสำหรับ LED MATRIX ห้องสมุดนี้จะมีอยู่ที่:
หลังจากดาวน์โหลดไฟล์ Zip ให้แตกเนื้อหาไปยังโฟลเดอร์ ARDUINO (ไปที่ดิสก์ในเครื่องที่ติดตั้งซอฟต์แวร์ ARDUINO NIGHTLY เปิดโฟลเดอร์ค้นหาโฟลเดอร์ชื่อ "ไลบรารี" แยกเนื้อหาของไฟล์ zip ในโฟลเดอร์นั้นรีสตาร์ทโปรแกรมตอนนี้คุณจะสามารถใช้คุณสมบัติสำหรับอินเทอร์เฟซเมทริกซ์ได้)
ส่วนประกอบที่จำเป็น
ฮาร์ดแวร์: Arduino Uno, แหล่งจ่ายไฟ (5v), ตัวเก็บประจุ 100 uF (เชื่อมต่อกับแหล่งจ่ายไฟ)
ซอฟต์แวร์: Arduino Nightly
แผนภาพวงจรและคำอธิบาย
การเชื่อมต่อระหว่างArduino Uno และโมดูลเมทริกซ์ LEDแสดงในตารางด้านล่าง
PIN2 ------------------ LOAD หรือ CHIPSELECT ของโมดูล LED
PIN3 ------------------ นาฬิกาของโมดูล LED
PIN4 ------------------ DATAIN ของโมดูล LED
+ 5V ------------------ VCC ของโมดูล LED
GND ------------------ GND ของโมดูล LED
วงจรของการแสดงผลเมทริกซ์ 8 * 8 LEDจะแสดงในรูปด้านล่าง
ตอนนี้สำหรับการใช้ฟิวเจอร์สพิเศษที่เรียกว่าโดยการติดตั้งไลบรารีใหม่เราจำเป็นต้องสร้างคำสั่งบางคำในโปรแกรมและระบุไว้ด้านล่าง
#include "LedControlMS.h" #define NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
ก่อนอื่นเราต้องเรียกไฟล์ส่วนหัวเพื่อเชื่อมต่อเมทริกซ์ LED กับ Arduino Uno นั่นคือ” #include“ LedControlMS.h”” ไฟล์ส่วนหัวนี้เรียกฟังก์ชันพิเศษของไลบรารี
เรามีคุณสมบัติที่มีโมดูลเหล่านี้ซึ่งเราสามารถเชื่อมต่อโมดูลจำนวนมากในซีรีส์และตั้งโปรแกรมเข้าด้วยกันเป็นจอแสดงผลเดียว คุณลักษณะนี้มีประโยชน์เมื่อเราต้องการหน่วยแสดงผลที่สามารถแสดงอักขระได้หลายตัวพร้อมกัน ดังนั้นเราต้องบอกคอนโทรลเลอร์ว่าเรากำลังเชื่อมต่อจอแสดงผลกี่จอ
ในโมดูลนี้ส่วนใหญ่มีหมุดสามตัว การไหลของข้อมูลจาก UNO ไปยังโมดูลจะเกิดขึ้นด้วยหมุดสามตัวนี้ หมุดคือ DATAIN (พินรับข้อมูล), CLOCK (พินนาฬิกา) และ CHIPSELECT (พินรับคำสั่ง)
ตอนนี้เราต้องบอก UNO ว่าเรากำลังเชื่อมต่อพินเหล่านี้ที่ไหน ทำได้โดยคำสั่ง“ LedControl lc = LedControl (4,3,2, NBR_MTX); ”. “ lc.writeString (0, "CIRCUITDIGEST"); "คำสั่งนี้ใช้สำหรับบอก UNO ว่าจะแสดงอักขระใดบนเมทริกซ์ LED ด้านบนหน้าจอจะแสดง "CIRCUITDIGEST" โดยให้อักขระแต่ละตัวหนึ่งครั้ง
เราจำเป็นต้องล้างหน่วยความจำชิปแสดงผลก่อนที่จะส่งข้อมูลอื่น ๆ ซึ่งทำได้โดยคำสั่ง” lc.clearAll (); "
ด้วยวิธีนี้เราสามารถเชื่อมต่อเมทริกซ์ LED 8x8 กับ Arduino Uno ได้อย่างง่ายดาย