תוכן עניינים:

הרכבה ובדיקת MAX7219 LED Dot Matrix: 6 שלבים (עם תמונות)
הרכבה ובדיקת MAX7219 LED Dot Matrix: 6 שלבים (עם תמונות)

וִידֵאוֹ: הרכבה ובדיקת MAX7219 LED Dot Matrix: 6 שלבים (עם תמונות)

וִידֵאוֹ: הרכבה ובדיקת MAX7219 LED Dot Matrix: 6 שלבים (עם תמונות)
וִידֵאוֹ: LED Dot Matrix Heart 2024, יולי
Anonim
Image
Image
בדוק את החבילה
בדוק את החבילה

תצוגת Dot-Matrix היא מכשיר תצוגה המכיל דיודות פולטות אור מיושרות בצורה של מטריצה. תצוגות מטריצה זו משמשות ביישומים שבהם יש להציג סימנים, גרפיקה, תווים, אלפבית, ספרות יחד סטטיות וכן תנועת גלילה. תצוגת Matrix Dot מיוצרת בממדים שונים כמו 5x7, 8x8, 16x8, 128x16, 128x32 ו 128x64 כאשר המספרים מייצגים נוריות LED בשורות ועמודות. כמו כן, תצוגות אלה מגיעות בצבעים שונים כגון אדום, ירוק, צהוב, כחול, כתום, לבן.

במדריך זה אעבור ממשק של מטריצת 8x8 Dot הכוללת נהג MAX7219 ל- Undu של Arduino. נתחיל.

אספקה

MAX7219

שלב 1: בדוק את החבילה

כפי שאתה יכול לראות יש לי גרסת smt של לוח הנהגים, חשוב מאוד לאמת כל אחד מהרכיבים הדרושים מכיוון שרכיבי ה- smd קטנים מאוד ואתה יכול לאבד אותם בקלות. יש גם גרסת טבילה זמינה באינטרנט אבל השתמשתי את גרסת ה- smt לגודלה.

שלב 2: קצת על מטריצת הנקודה המיוחדת הזו

קצת על מטריצת הנקודה המיוחדת הזו
קצת על מטריצת הנקודה המיוחדת הזו

מודול יחיד יכול להניע את הקתודה המשותפת של מטריצת 8x8 נקודות.

מתח הפעלה: 5 v

מידות: אורך 3.2 ס"מ X 3.2 ס"מ רוחב X 1.3 ס"מ גובה, חורים עם ארבעה ברגים, קוטר 3 מ"מ

מודולים עם ממשקי קלט ופלט, תמיכה בהדפסת מספר מודולים.

מסופי הנתונים IN ו- OUT מפורטים במודול.

שלב 3: מנהל ההתקן MAX7219

הנהג MAX7219
הנהג MAX7219
הנהג MAX7219
הנהג MAX7219

ה- MAX7219 הוא IC המיועד לשלוט ב- 8x8 LED MATRIX. ה- IC הוא מנהלי תצוגה משותפים של קתודה משותפת (Common Negative) שמממשקים מיקרו-מעבדים (או מיקרו-בקר) למסכי LED מספריים של עד 7 ספרות, תצוגות בגרף עמודים או 64 נוריות בודדות.

תכונות ומפרטים

טווח מתח הפעלה: +4.0 עד +5.5V

מתח הפעלה מומלץ: +5V

מתח אספקה מרבי: 6V

זרם מרבי המותר למשוך דרך כל סיכת קטע: 100mA

זרם מרבי המותר לכל סיכת קרקע של DIGIT: 500mA

צריכת חשמל נמוכה

זמן עיכוב נתונים לפלח: 2.2mSec

טמפרטורת הפעלה: 0 ° C עד +70 ° C.

טמפרטורת אחסון: -65 C עד 150 C

שלב 4: המעגל

המעגל
המעגל
המעגל
המעגל

המעגל די פשוט וניתן לבנות אותו באמצעות חוטי מגשר בין זכר לנקבה. פשוט עקוב אחר ה- pinout ובנה את המעגל. מאוחר יותר תוכל להרכיב אותו על לוח PCB אם אתה מגיש יישום קבוע למטריקס.

תצורת הפינים היא כדלקמן:

  • סיכת Vcc ל- 5V של Arduino.
  • Gnd to Gnd Pin של הארדואינו.
  • DIN לפין דיגיטלי 12 של הארדואינו.
  • CS לפין דיגיטלי 11 של הארדואינו
  • CLK לפין דיגיטלי 10 של הארדואינו.

שלב 5: הקוד

כאן במדריך זה אספק לך שני קודים שונים. האחד יפיק כמה אלפביתים וסמיילים באנגלית על המטריקס. השני כדי להאיר את כל 64 נוריות LED אחת אחת. עליך להשתמש בספריית lledcontrol כדי לגרום לזה לפעול.

זהו הקוד לאלפבית וחיוכים באנגלית

#include int DIN = 12; int CS = 11; int CLK = 10; בת e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; בתים d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; בייט u [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}; בייט m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); התקנת void () {lc.shutdown (0, false); // ה- MAX72XX נמצא במצב חיסכון בחשמל בעת הפעלה lc.setIntensity (0, 15); // הגדר את הבהירות לערך המקסימלי lc.clearDisplay (0); // ונקה את התצוגה} לולאת חלל () {חיוך בתים [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); } voD printEduc8s () {printByte (e); עיכוב (1000); printByte (d); עיכוב (1000); printByte (u); עיכוב (1000); printByte (c); עיכוב (1000); printByte (שמונה); עיכוב (1000); printByte (ים); עיכוב (1000); printByte (נקודה); עיכוב (1000); printByte (c); עיכוב (1000); printByte (o); עיכוב (1000); printByte (m); עיכוב (1000); } void printByte (תו בתים ) {int i = 0; עבור (i = 0; i <8; i ++) {lc.setRow (0, i, תו ); }}

והקוד לבדיקת כל 64 הלדים

// עלינו תמיד לכלול את הספרייה#לכלול "LedControl.h"

/*

עכשיו אנחנו צריכים LedControl לעבוד איתו. ***** מספרי סיכות אלה כנראה לא יעבדו עם החומרה שלך ***** סיכה 12 מחוברת ל- DataIn סיכה 10 מחוברת לפין CLK 11 מחובר ל- LOAD יש לנו רק MAX72XX יחיד. */ LedControl lc = LedControl (12, 11, 10, 1);

/ * אנו תמיד ממתינים מעט בין עדכוני התצוגה */

זמן עיכוב ארוך ללא סימן = 100;

הגדרת בטל () {

/ * ה- MAX72XX נמצא במצב חיסכון בחשמל בעת ההפעלה, עלינו לבצע שיחת השכמה */ lc.shutdown (0, false); / * הגדר את הבהירות לערכים בינוניים */ lc.setIntensity (0, 8); / * ונקה את התצוגה */ lc.clearDisplay (0); }

/*

שיטה זו תציג את התווים של המילה "ארדואינו" בזה אחר זה במטריצה. (אתה צריך לפחות 5x7 נוריות כדי לראות את כל התווים) */ void writeArduinoOnMatrix () {/ *להלן הנתונים של התווים */ בתים a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; בייט r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; בייט d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; בייט u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; בת i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; בתים n [5] = {B00111110, B00010000, B00100000, B00100000, 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, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); עיכוב (זמן עיכוב); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [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); עיכוב (זמן עיכוב); }

/*

פונקציה זו מאירה כמה נוריות ברציפות. התבנית תחזור על עצמה בכל שורה. התבנית תמצמץ יחד עם מספר השורה. שורה מספר 4 (אינדקס == 3) תהבהב 4 פעמים וכו ' */ שורות בטלות () {עבור (int שורה = 0; שורה <8; שורה ++) {עיכוב (זמן עיכוב); lc.setRow (0, שורה, B10100000); עיכוב (זמן עיכוב); lc.setRow (0, שורה, (בייט) 0); עבור (int i = 0; i

/*

פונקציה זו מאירה כמה נוריות בעמודה. התבנית תחזור על עצמה בכל עמודה. התבנית תמצמץ יחד עם מספר העמודה. עמודה מספר 4 (אינדקס == 3) תהבהב 4 פעמים וכו ' */ void columns () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); עיכוב (זמן עיכוב); lc.setColumn (0, col, (byte) 0); עבור (int i = 0; i

/*

פונקציה זו תדליק כל לד במטריצה. ה- LED יהבהב יחד עם מספר השורה. שורה מספר 4 (אינדקס == 3) תהבהב 4 פעמים וכו ' */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { עיכוב (זמן עיכוב); lc.setLed (0, שורה, col, true); עיכוב (זמן עיכוב); עבור (int i = 0; i

לולאת חלל () {

writeArduinoOnMatrix (); שורות (); עמודות (); יחיד(); }

שלב 6: הפלט

Image
Image
הפלט
הפלט
הפלט
הפלט
הפלט
הפלט

צפה בסרטון המלא כאן: -MAX7219 הרכבה ובדיקת LED 8X8 LED MATRIX באמצעות ARDUINO

ובכן כל העבודה הקשה הזו, בטוח משתלמת די טוב כשאתה רואה את התוצאה. זה שווה את זה !!

הירשם לערוץ היוטיוב שלי: -דברים יצירתיים

מוּמלָץ: