- ส่วนประกอบที่จำเป็น
- การทำงานของโมดูลเมทริกซ์ LED P10
- แผนภูมิวงจรรวม
- การเขียนโปรแกรมโมดูล LED P10 ด้วย Arduino
โฆษณาแบบดิสเพลย์มีบทบาทในการนำเข้าอย่างมากในด้านการตลาดและมีหลายวิธีเช่นหนังสือพิมพ์โปสเตอร์ป้ายเรืองแสง ฯลฯ แต่ปัจจุบันบอร์ดแสดงผล LED ดิจิทัลได้รับความนิยมเนื่องจากความน่าเชื่อถือและข้อดี แม้ว่าจะมีราคาแพงเล็กน้อย แต่ก็ยังทนทานและปรับแต่งได้เช่นเดียวกับข้อความโฆษณาสามารถเปลี่ยนแปลงได้ง่ายทุกเมื่อที่ต้องการและยังสามารถใช้เป็น Digital Notice Board ได้ในที่สาธารณะทุกแห่ง ก่อนหน้านี้เราใช้ 8x8 เมทริกซ์ LED กับบอร์ดจำนวนมากเพื่อควบคุมข้อความที่แสดงมากกว่านั้นในวันนี้เราจะใช้จอแสดงผล P10 กับ Arduino
ในการกวดวิชานี้เราจะไปใช้แสดงโมดูล 32x16 LED Dot Matrix ซึ่งเป็นที่รู้จักกันในชื่อP10 จอแสดงผล LED Moduleเพื่อแสดงข้อความเลื่อนโดยใช้Arduino UNOโมดูล P10 สามารถเรียงซ้อนกันเพื่อสร้างป้ายโฆษณาขนาดใดก็ได้
ส่วนประกอบที่จำเป็น
- Arduino UNO-1
- โมดูลจอแสดงผล LED 32 * 16 P10-1
- ขั้วต่อ FRC 16 พิน -1
- 5V DC, 3 AMP SMPS
- ตัวเชื่อมต่อ
การทำงานของโมดูลเมทริกซ์ LED P10
P10 จอแสดงผล LED โมดูลที่เหมาะสมที่สุดสำหรับการออกแบบขนาดของบอร์ดจอแสดงผล LED กลางแจ้งหรือในร่มใด ๆ แผงนี้มีไฟ LED ความสว่างสูงทั้งหมด 512 ดวงติดตั้งอยู่บนตัวเครื่องพลาสติกที่ออกแบบมาเพื่อให้ได้ผลลัพธ์การแสดงผลที่ดีที่สุด สามารถใช้แผงจำนวนเท่าใดก็ได้ในโครงสร้างแถวและคอลัมน์เพื่อออกแบบป้าย LED ที่น่าสนใจ
ขนาดโมดูล 32 * 16 หมายความว่ามี LED 32 ดวงในแต่ละแถวและ 16 LED ในแต่ละคอลัมน์ ดังนั้นจึงมี LED จำนวน 512 ดวงในแต่ละหน่วยโมดูล
คุณสมบัติของโมดูลเมทริกซ์ P10 LED:
- ความสว่าง: 3500-4500nits
- การใช้พลังงานสูงสุด: 20W
- แรงดันไฟฟ้าอินพุต: DC 5V
- กันน้ำ IP65
- การกำหนดค่าพิกเซล 1W
- มุมมองสูง
- อัตราส่วนคอนทราสต์สูง
คำอธิบายพินของโมดูลการแสดงผล P10:
- เปิดใช้งาน:พินนี้ใช้เพื่อควบคุมความสว่างของแผง LED โดยให้พัลส์ PWM กับมัน
- A, B: สิ่งเหล่านี้เรียกว่าพินเลือกมัลติเพล็กซ์ พวกเขาใช้อินพุตดิจิตอลเพื่อเลือกแถวมัลติเพล็กซ์
- Shift clock (CLK), Store clock (SCLK) และ Data:นี่คือพินควบคุม shift register ปกติ ที่นี่ใช้ shift register 74HC595
แผนภูมิวงจรรวม
แผนภาพวงจรที่สมบูรณ์สำหรับโมดูล P10 พร้อม Arduinoได้รับด้านล่าง:
โมดูลแสดงผล Arduino UNO และ P10 เชื่อมต่อกันตามการแมปพินดังแสดงด้านล่าง:
โมดูล LED P10 |
Arduino UNO |
เปิดใช้งาน |
9 |
ก |
6 |
ข |
7 |
CLK |
13 |
SCLK |
8 |
ข้อมูล |
11 |
GND |
GND |
หมายเหตุ:เชื่อมต่อขั้วไฟฟ้าของโมดูล P10 กับ 5V DC SMPS แยกกัน ขอแนะนำให้เชื่อมต่อแหล่งจ่ายไฟ 5V, 3 แอมป์ DC เข้ากับโมดูล P10 LED ชุดเดียว หากคุณกำลังวางแผนที่จะเชื่อมต่อจำนวนโมดูลเพิ่มเติมให้เพิ่มคะแนน SMPS ของคุณตามนั้น
การเขียนโปรแกรมโมดูล LED P10 ด้วย Arduino
หลังจากเสร็จสิ้นการตั้งค่าฮาร์ดแวร์แล้วก็ถึงเวลาตั้งโปรแกรม Arduino รหัสที่สมบูรณ์สำหรับArduino 10 Led Displayพร้อมกับวิดีโอจะได้รับในตอนท้ายของบทช่วยสอนนี้ คำอธิบายขั้นตอนของรหัสมีให้ด้านล่าง
ก่อนอื่นให้ รวมไลบรารีที่พึ่งพาทั้งหมด ในโปรแกรม ที่นี่เรากำลังใช้ไลบรารี “ DMD.h” สำหรับการดำเนินการแบบ P10 ดาวน์โหลดไลบรารีนี้จากที่นี่และติดตั้งใน Arduino IDE หลังจากนั้นรวมไลบรารีสำหรับ“ TimerOne.h ” ซึ่งจะใช้สำหรับงานขัดจังหวะ สามารถดาวน์โหลดไลบรารีนี้ได้จากที่นี่
จากนั้นรวมไลบรารีฟอนต์ที่จำเป็นทั้งหมดในกรณีของเราเราใช้“ ฟอนต์ Arial Black” สำหรับการแสดงผล
# รวม
ในขั้นตอนถัดไปกำหนดจำนวนแถวและคอลัมน์สำหรับบอร์ดแสดงผล LED ในกรณีของเราเราใช้โมดูลเดียวดังนั้นค่า ROW และค่า COLUMN จะเป็น 1 จากนั้นกำหนดชื่อฟอนต์ - Arial_Black_16 สำหรับการเลื่อนข้อความบนบอร์ดแสดงผล
# กำหนดแถว 1 # กำหนดคอลัมน์ 1 # กำหนดค่า FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
ฟังก์ชัน scan_module () ซึ่งตรวจสอบข้อมูลขาเข้าจากฝั่ง Arduino ผ่านขั้ว SPI ถ้าใช่มันจะทริกเกอร์พินอินเทอร์รัปต์สำหรับทำเหตุการณ์บางอย่าง
เป็นโมฆะ scan_module () {led_module.scanDisplayBySPI (); }
ภายใน ติดตั้ง () , เริ่มต้นการจับเวลาและแนบขัดจังหวะการทำงานscan_module ฟังก์ชั่นclearScreen (จริง)ใช้เพื่อตั้งค่าพิกเซลทั้งหมดจะปิดในตอนแรกเพื่อล้างบอร์ดแสดงผล
การตั้งค่าเป็นโมฆะ () {Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (จริง); }
จากนั้นจะแสดงสตริงในโมดูลเลือกตัวอักษรที่ใช้ selectFont () ฟังก์ชั่นและพิมพ์ข้อความสตริง“ ยินดีต้อนรับสู่วงจร Digest ” ในการแสดงผลโดยใช้drawMarquee ()ฟังก์ชั่น
led_module.selectFont (FONT); led_module.drawMarquee ("ยินดีต้อนรับสู่ Circuit Digest", 25, (32 * ROW), 0);
สุดท้ายในการเลื่อนข้อความบนบอร์ดแสดงผล LED จะเลื่อนข้อความทั้งหมดจากทิศทางขวาไปซ้ายโดยใช้ช่วงเวลาหนึ่ง
เริ่มต้นยาว = มิลลิวินาที (); เวลานาน = เริ่ม; บูลีนแฟล็ก = เท็จ; ในขณะที่ (! flag) {if ((timming + 20) <millis ()) {flag = led_module.stepMarquee (-1, 0); เวลา = มิลลิวินาที (); }}
นี่คือวิธีที่คุณสามารถสร้างScrolling Text Signboard โดยใช้ Arduinoและ LED matrix
รหัสที่สมบูรณ์และวิดีโอสาธิตมีให้ด้านล่าง