สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
จอแสดงผล Dot-Matrix เป็นอุปกรณ์แสดงผลที่มีไดโอดเปล่งแสงเรียงกันในรูปแบบของเมทริกซ์ จอแสดงผลแบบดอทเมทริกซ์นี้ใช้ในแอปพลิเคชันที่จำเป็นต้องแสดงสัญลักษณ์ กราฟิก อักขระ ตัวอักษร ตัวเลข ในรูปแบบคงที่และ การเลื่อนแบบเลื่อน Dot Matrix Display ผลิตขึ้นในขนาดต่างๆ เช่น 5x7, 8x8, 16x8, 128x16, 128x32 และ 128x64 โดยที่ตัวเลขแสดงถึง LED ในแถวและคอลัมน์ นอกจากนี้ จอแสดงผลเหล่านี้ยังมีหลายสี เช่น สีแดง สีเขียว สีเหลือง สีฟ้า ส้ม ขาว.
ในคำแนะนำนี้ ฉันจะผ่านการเชื่อมต่อ 8x8 Dot Matrix ซึ่งมีไดรเวอร์ MAX7219 กับ Arduino Uno มาเริ่มกันเลย
เสบียง
MAX7219
ขั้นตอนที่ 1: ตรวจสอบแพ็คเกจ
อย่างที่คุณเห็นว่าฉันมีเวอร์ชัน smt ของบอร์ดควบคุม การตรวจสอบส่วนประกอบแต่ละส่วนที่จำเป็นเป็นสิ่งสำคัญมาก เนื่องจากส่วนประกอบ smd มีขนาดเล็กมากและคุณสามารถทำหายได้อย่างง่ายดาย นอกจากนี้ยังมีเวอร์ชัน dip ที่มีจำหน่ายทางออนไลน์ แต่ฉันเคยใช้ รุ่น smt สำหรับขนาดของมัน
ขั้นตอนที่ 2: เล็กน้อยเกี่ยวกับ Dot Matrix นี้โดยเฉพาะ
โมดูลเดียวสามารถขับแคโทดทั่วไป 8x8 dot matrix
แรงดันไฟฟ้าที่ใช้งาน: 5 v
ขนาด: ยาว 3.2 ซม. X กว้าง 3.2 ซม. X สูง 1.3 ซม. รูพร้อมสกรูสี่ตัว เส้นผ่านศูนย์กลาง 3 มม.
โมดูลที่มีอินเทอร์เฟซอินพุตและเอาต์พุต รองรับการเรียงซ้อนหลายโมดูล
มีการระบุขั้วข้อมูลเข้าและออกในโมดูล
ขั้นตอนที่ 3: ไดรเวอร์ MAX7219
MAX7219 เป็น IC ที่ออกแบบมาเพื่อควบคุม LED MATRIX ขนาด 8x8 IC คือไดรเวอร์การแสดงผลทั่วไปของแคโทดอินพุทแบบอนุกรม (Common Negative) ที่เชื่อมต่อไมโครโปรเซสเซอร์ (หรือไมโครคอนโทรลเลอร์) กับ LED ตัวเลข 7 ส่วนที่แสดงตัวเลขสูงสุด 8 หลัก การแสดงกราฟแท่งหรือ LED 64 ดวง
คุณสมบัติและข้อมูลจำเพาะ
ช่วงแรงดันไฟฟ้าที่ใช้งานได้: +4.0 ถึง +5.5V
แรงดันใช้งานที่แนะนำ: +5V
แรงดันไฟสูงสุด: 6V
กระแสสูงสุดที่อนุญาตให้วาดผ่านพินแต่ละส่วน: 100mA
กระแสไฟสูงสุดที่อนุญาตให้ผ่านแต่ละพินกราวด์ DIGIT: 500mA
การใช้พลังงานต่ำ
ข้อมูล-to-Segment Delay Time: 2.2mSec
อุณหภูมิในการทำงาน: 0°C ถึง +70°C
อุณหภูมิในการจัดเก็บ: -65 °C ถึง +150 °C
ขั้นตอนที่ 4: วงจร
วงจรนี้ค่อนข้างเรียบง่ายและสามารถสร้างได้โดยใช้สายจัมเปอร์ตัวผู้ถึงตัวเมีย เพียงทำตาม pinout และสร้างวงจร คุณสามารถประกอบมันบน PCB ได้ในภายหลัง หากคุณกำลังสร้างแอปพลิเคชันถาวรสำหรับ Matrix
การกำหนดค่าพินมีดังนี้:
- Vcc ถึง 5V Pin ของ Arduino
- Gnd ถึง Gnd Pin ของ Arduino
- DIN ถึง Digital Pin 12 ของ Arduino
- CS เป็น Digital Pin 11 ของ Arduino
- CLK เป็น Digital Pin 10 ของ Arduino
ขั้นตอนที่ 5: รหัส
ที่นี่ในคำแนะนำนี้ ฉันจะให้รหัสที่แตกต่างกันสองรหัสแก่คุณ หนึ่งจะสร้างตัวอักษรภาษาอังกฤษและรอยยิ้มบนเมทริกซ์ อีกอันหนึ่งเพื่อให้ไฟ LED 64 ดวงสว่างขึ้นทีละดวง คุณต้องใช้ไลบรารี lledcontrol เพื่อให้ทำงานได้
นี่คือรหัสสำหรับตัวอักษรภาษาอังกฤษและรอยยิ้ม
#include int DIN = 12; int CS = 11; int CLK = 10; ไบต์ อี[8]= {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; ไบต์ d[8]= {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; ไบต์ ยู[8]= {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; ไบต์ c[8]= {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; ไบต์แปด[8]= {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; ไบต์ s[8]= {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; ไบต์จุด[8]= {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; ไบต์ o[8]= {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; ไบต์ ม[8]= {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc=LedControl(DIN, CLK, CS, 0); การตั้งค่าเป็นโมฆะ () { lc.shutdown (0, เท็จ); // MAX72XX อยู่ในโหมดประหยัดพลังงานเมื่อเริ่มต้น lc.setIntensity(0, 15); // ตั้งค่าความสว่างเป็นค่าสูงสุด lc.clearDisplay(0); // และล้างการแสดงผล } void loop(){ byte smile[8]= {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; ไบต์เป็นกลาง[8]= {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; ไบต์ขมวดคิ้ว[8]= {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte(ยิ้ม); ล่าช้า (1000); printByte (เป็นกลาง); ล่าช้า (1000); printByte(ขมวดคิ้ว); ล่าช้า (1000); printEduc8s(); lc.clearDisplay(0); ล่าช้า (1000); } เป็นโมฆะ printEduc8s () { printByte (e); ล่าช้า (1000); printByte(d); ล่าช้า (1000); printByte(u); ล่าช้า (1000); printByte(c); ล่าช้า (1000); printByte (แปด); ล่าช้า (1000); printByte(s); ล่าช้า (1000); printByte(จุด); ล่าช้า (1000); printByte(c); ล่าช้า (1000); printByte(o); ล่าช้า (1000); printByte(ม.); ล่าช้า (1000); } โมฆะ printByte (อักขระไบต์ ) { int i = 0; สำหรับ(i=0;i<8;i++) { lc.setRow(0, i, อักขระ); } }
และรหัสสำหรับทดสอบ LED ทั้ง 64 ดวง
//เราต้องรวมไลบรารี่เสมอ #include "LedControl.h"
/*
ตอนนี้เราต้องการ LedControl เพื่อใช้งาน ***** หมายเลขพินเหล่านี้อาจจะไม่ทำงานกับฮาร์ดแวร์ของคุณ ***** ขา 12 เชื่อมต่อกับ DataIn ขา 10 เชื่อมต่อกับ CLK ขา 11 เชื่อมต่อกับโหลด เรามี MAX72XX เดียวเท่านั้น */ LedControl lc=LedControl(12, 11, 10, 1);
/* เรามักจะรอเล็กน้อยระหว่างการอัปเดตการแสดงผล */
ล่าช้านานที่ไม่ได้ลงนาม=100;
การตั้งค่าเป็นโมฆะ () {
/* MAX72XX อยู่ในโหมดประหยัดพลังงานเมื่อเริ่มต้น เราต้องทำการโทรปลุก */ lc.shutdown(0, false); /* ตั้งค่าความสว่างเป็นค่ากลาง */ lc.setIntensity(0, 8); /* และล้างการแสดงผล */ lc.clearDisplay(0); }
/*
วิธีนี้จะแสดงอักขระสำหรับคำว่า "Arduino" ทีละตัวบนเมทริกซ์ (คุณต้องการไฟ LED อย่างน้อย 5x7 เพื่อดูตัวอักษรทั้งหมด) */ void writeArduinoOnMatrix() { /* นี่คือข้อมูลสำหรับอักขระ */ ไบต์ a[5]={B01111110, B10001000, B10001000, B10001000, B01111110}; ไบต์ r[5]={B00111110, B00010000, B000000000, B000000000, B00010000}; ไบต์ d[5]={B00011100, B00100010, B00100010, B00010010, B111111110}; ไบต์ ยู[5]={B00111100, B00000010, B00000010, B0000000100, B00111110}; ไบต์ i[5]={B00000000, B00100010, B10111110, B00000010, B00000000}; ไบต์ n[5]={B00111110, B00010000, B000000000, B000000000, B00011110}; ไบต์ o[5]={B00011100, B00100010, B00100010, B00100010, B00011100};
/* ตอนนี้แสดงทีละรายการโดยมีความล่าช้าเล็กน้อย */
lc.setRow(0, 0, a[0]); lc.setRow(0, 1, a[1]); lc.setRow(0, 2, a[2]); lc.setRow(0, 3, a[3]); lc.setRow(0, 4, a[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, r[0]); lc.setRow(0, 1, r[1]); lc.setRow(0, 2, r[2]); lc.setRow(0, 3, r[3]); lc.setRow(0, 4, r[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, d[0]); lc.setRow(0, 1, d[1]); lc.setRow(0, 2, d[2]); lc.setRow(0, 3, d[3]); lc.setRow(0, 4, d[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, u[0]); lc.setRow(0, 1, คุณ[1]); lc.setRow(0, 2, คุณ[2]); lc.setRow(0, 3, คุณ[3]); lc.setRow(0, 4, คุณ[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, ผม[0]); lc.setRow(0, 1, ผม[1]); lc.setRow(0, 2, ผม[2]); lc.setRow(0, 3, ผม[3]); lc.setRow(0, 4, ผม[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, n[0]); lc.setRow(0, 1, n[1]); lc.setRow(0, 2, n[2]); lc.setRow(0, 3, n[3]); lc.setRow(0, 4, n[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, o[0]); lc.setRow(0, 1, o[1]); lc.setRow(0, 2, o[2]); lc.setRow(0, 3, o[3]); lc.setRow(0, 4, o[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, 0); lc.setRow(0, 1, 0); lc.setRow(0, 2, 0); lc.setRow(0, 3, 0); lc.setRow(0, 4, 0); ล่าช้า (ล่าช้า); }
/*
ฟังก์ชันนี้จะทำให้ไฟ LED บางดวงสว่างขึ้นติดต่อกัน รูปแบบจะทำซ้ำทุกแถว รูปแบบจะกะพริบพร้อมกับหมายเลขแถว แถวที่ 4 (index==3) จะกะพริบ 4 ครั้ง เป็นต้น */ void rows() { for(int row=0;row<8;row++) { delay(delaytime); lc.setRow(0, แถว, B10100000); ล่าช้า (ล่าช้า); lc.setRow(0, แถว, (ไบต์)0); สำหรับ(int i=0;i
/*
ฟังก์ชันนี้จะทำให้ไฟ LED บางดวงสว่างขึ้นในคอลัมน์ รูปแบบจะถูกทำซ้ำในทุกคอลัมน์ รูปแบบจะกะพริบพร้อมกับหมายเลขคอลัมน์ คอลัมน์ที่ 4 (index==3) จะกะพริบ 4 ครั้ง เป็นต้น */ void columns() { for(int col=0;col<8;col++) { delay(delaytime); lc.setColumn(0, col, B10100000); ล่าช้า (ล่าช้า); lc.setColumn(0, col, (ไบต์)0); สำหรับ(int i=0;i
/*
ฟังก์ชันนี้จะสว่างขึ้นทุก Led บนเมทริกซ์ ไฟ LED จะกะพริบพร้อมกับหมายเลขแถว แถวที่ 4 (index==3) จะกะพริบ 4 ครั้ง เป็นต้น */ void single() { for(int row=0;row<8;row++) { for(int col=0;col<8;col++) { ล่าช้า (ล่าช้า); lc.setLed(0, แถว, คอลัมน์, จริง); ล่าช้า (ล่าช้า); สำหรับ(int i=0;i
วงเป็นโมฆะ () {
เขียนArduinoOnMatrix(); แถว (); คอลัมน์ (); เดี่ยว(); }
ขั้นตอนที่ 6: ผลลัพธ์
ชมวิดีโอตัวเต็มได้ที่นี่:-MAX7219 8x8 LED MATRIX ASSEMBLY AND TESTING โดยใช้ ARDUINO
การทำงานหนักทั้งหมดนี้ย่อมได้ผลดีเมื่อคุณเห็นผล มันคุ้มค่า !!
สมัครสมาชิกช่อง youtube ของฉัน:-Creative Stuff
แนะนำ:
นาฬิกาดิจิตอล LED Dot Matrix - แอพ ESP Matrix สำหรับ Android: 14 ขั้นตอน
Digital Clock LED Dot Matrix - แอพ ESP Matrix สำหรับ Android: บทความนี้ได้รับการสนับสนุนอย่างภาคภูมิใจโดย PCBWAY.PCBWAY สร้าง PCB ต้นแบบคุณภาพสูงสำหรับผู้คนทั่วโลก ลองด้วยตัวคุณเองและรับ 10 PCBs เพียง $5 ที่ PCBWAY ด้วยคุณภาพที่ยอดเยี่ยมมาก ขอบคุณ PCBWAY บอร์ด ESP Matrix ที่ฉันพัฒนา
Dot Matrix 32x8 Max7219 การเชื่อมต่อกับ Ardiuno: 5 ขั้นตอน (พร้อมรูปภาพ)
Dot Matrix 32x8 Max7219 การเชื่อมต่อกับ Ardiuno: สวัสดีทุกคน Dot Matrix ที่ใช้ Max7219 นั้นไม่ใช่เรื่องใหม่ในปี 2020 จนกระทั่งเมื่อไม่นานมานี้ ขั้นตอนการตั้งค่าได้รับการบันทึกไว้อย่างดี ใครจะดาวน์โหลดไลบรารีฮาร์ดแวร์จาก MajicDesigns และเปลี่ยนสองสามบรรทัดในไฟล์ส่วนหัวและ FC16 ทำงานได้อย่างมีเสน่ห์ นี้จนกว่า
IoT Smart Clock Dot Matrix ใช้ Wemos ESP8266 - ESP Matrix: 12 ขั้นตอน (พร้อมรูปภาพ)
IoT Smart Clock Dot Matrix ใช้ Wemos ESP8266 - ESP Matrix: สร้าง IoT Smart Clock ของคุณเองที่สามารถ: แสดงนาฬิกาพร้อมไอคอนแอนิเมชั่นที่สวยงาม Display Reminder-1 to Reminder-5 แสดงปฏิทิน แสดงเวลาละหมาดของชาวมุสลิม แสดงข้อมูลสภาพอากาศ แสดงข่าว แสดงคำแนะนำ อัตรา Bitcoin แสดง
วิธีใช้ Max7219 8x8 Dot Matrix ด้วย "skiiiD": 9 ขั้นตอน
วิธีใช้ Max7219 8x8 Dot Matrix กับ "skiiiD": นี่คือวิดีโอคำแนะนำของ Max7219 8x8 Dot Matrix ผ่าน "skiiiD"ก่อนเริ่ม ด้านล่างนี้เป็นบทช่วยสอนพื้นฐานสำหรับวิธีใช้ skiiiDhttps://www.instructables.com/id /เริ่มต้น-เริ่มต้น-W
SMS Monitor -- จอแสดงผล Dot Matrix -- MAX7219 -- SIM800L: 8 ขั้นตอน (พร้อมรูปภาพ)
SMS Monitor || จอแสดงผล Dot Matrix || MAX7219 || SIM800L: ในวิดีโอนี้ คุณจะได้เรียนรู้วิธีใช้โมดูล GSM การแสดงดอทเมทริกซ์ และวิธีแสดงข้อความเลื่อนบนโมดูล หลังจากนั้นเราจะรวมเข้าด้วยกันเพื่อแสดงข้อความที่ได้รับผ่านซิม GSM เพื่อแสดงดอทเมทริกซ์ มันค่อนข้างง่ายและคุณ