สารบัญ:

MAX7219 LED Dot Matrix Assembly และการทดสอบ: 6 ขั้นตอน (พร้อมรูปภาพ)
MAX7219 LED Dot Matrix Assembly และการทดสอบ: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: MAX7219 LED Dot Matrix Assembly และการทดสอบ: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: MAX7219 LED Dot Matrix Assembly และการทดสอบ: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: LED Dot Matrix วิธีการใช้งาน 2024, กรกฎาคม
Anonim
Image
Image
ตรวจสอบแพ็คเกจ
ตรวจสอบแพ็คเกจ

จอแสดงผล 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 นี้โดยเฉพาะ

เล็กน้อยเกี่ยวกับ Dot Matrix นี้โดยเฉพาะ
เล็กน้อยเกี่ยวกับ Dot Matrix นี้โดยเฉพาะ

โมดูลเดียวสามารถขับแคโทดทั่วไป 8x8 dot matrix

แรงดันไฟฟ้าที่ใช้งาน: 5 v

ขนาด: ยาว 3.2 ซม. X กว้าง 3.2 ซม. X สูง 1.3 ซม. รูพร้อมสกรูสี่ตัว เส้นผ่านศูนย์กลาง 3 มม.

โมดูลที่มีอินเทอร์เฟซอินพุตและเอาต์พุต รองรับการเรียงซ้อนหลายโมดูล

มีการระบุขั้วข้อมูลเข้าและออกในโมดูล

ขั้นตอนที่ 3: ไดรเวอร์ MAX7219

ไดร์เวอร์ MAX7219
ไดร์เวอร์ MAX7219
ไดร์เวอร์ MAX7219
ไดร์เวอร์ 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: วงจร

The Circuit
The Circuit
The Circuit
The Circuit

วงจรนี้ค่อนข้างเรียบง่ายและสามารถสร้างได้โดยใช้สายจัมเปอร์ตัวผู้ถึงตัวเมีย เพียงทำตาม 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: ผลลัพธ์

Image
Image
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์

ชมวิดีโอตัวเต็มได้ที่นี่:-MAX7219 8x8 LED MATRIX ASSEMBLY AND TESTING โดยใช้ ARDUINO

การทำงานหนักทั้งหมดนี้ย่อมได้ผลดีเมื่อคุณเห็นผล มันคุ้มค่า !!

สมัครสมาชิกช่อง youtube ของฉัน:-Creative Stuff

แนะนำ: