בפרויקט זה אנו מתכננים תצוגת מטריקס LED 8x8, לשם כך אנו מתכוונים לממשק מודול מטריקס 8x8 LED עם Arduino Uno. מטריצת LED 8x8 מכילה 64 נוריות (דיודות פולטות אור) המסודרות בצורת מטריצה ומכאן השם מטריצת LED.
ניתן ליצור מטריצות אלה על ידי מעגל של 64 נוריות נוריות, אולם תהליך זה גוזל זמן. כיום הם זמינים בצורות קומפקטיות כפי שמוצג בתמונה למטה. מודולים קומפקטיים אלה זמינים בגדלים שונים ובצבעים רבים. עלות המודול זהה לעלות של 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 מוצג מתחת לדמות.
כעת לשימוש בעתיד המיוחד שנקרא התקנת ספרייה חדשה, עלינו לקבוע כמה פקודות בתכנית ומפורטות להלן.
# כלול "LedControlMS.h" #define NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
ראשית עלינו להתקשר לקובץ הכותרת לצורך ממשק מטריצת LED ל- Arduino Uno. כלומר "# כלול" LedControlMS.h "", קובץ הכותרת הזה מכנה את הספרייה לפונקציות מיוחדות.
יש לנו תכונה עם מודולים אלה שנוכל לחבר מספר רב של מודולים בסדרה ולתכנת אותם יחד כצג יחיד. תכונה זו שימושית כאשר אנו זקוקים ליחידת תצוגה שיכולה להציג מספר תווים בו זמנית. אז אנחנו צריכים לספר לבקר כמה צגים אנחנו מחברים.
במודול זה ישנם בעיקר שלושה פינים; זרימת נתונים מ- UNO למודול מתרחשת עם שלושת הפינים האלה. הסיכות הן DATAIN (סיכת קבלת נתונים), שעון (סיכת שעון) ו- CHIPSELECT (סיכת קבלת פקודה).
עכשיו אנחנו צריכים לספר לאו"ם לאן אנחנו מחברים את הסיכות האלה. זה נעשה על ידי הפקודה "LedControl lc = LedControl (4,3,2, NBR_MTX); ”. "Lc.writeString (0," CIRCUITDIGEST ");", פקודה זו משמשת לאמירת UNO אילו תווים יוצגו על מטריצת LED. עם האמור לעיל התצוגה מראה "CIRCUITDIGEST", עם כל תו פעם אחת.
עלינו לנקות את זיכרון שבב התצוגה לפני שנשלח נתונים אחרים, זה נעשה על ידי הפקודה "lc.clearAll ();".
בדרך זו אנו יכולים ממשק בקלות מטריצת LED 8x8 ל- Arduino Uno.