- מטריקס תצוגת LED P10
- רכיבים נדרשים ללוח התוצאות של Arduino
- תרשים מעגלים עבור לוח התוצאות של Arduino
- הסבר על קוד התוצאות של Arduino
לוח תוצאות אלקטרוני הוא אחד הגאדג'טים החשובים ביותר שכולם יכולים לקבל במהלך כל טורניר ספורט. לוח תוצאות ידני ישן בשיטות קונבנציונליות גוזל זמן רב ומועד לטעויות, ולכן לוח תוצאות ממוחשב הופך להיות נחוץ במקום בו יש לשנות את יחידת התצוגה בזמן אמת. זו הסיבה שבפרויקט זה נבנה לוח תוצאות אלחוטי מבוקר בלוטות ' בו נוכל לשנות את הציון על הלוח רק באמצעות יישום אנדרואיד. המוח של פרויקט זה הוא ננו של ארדואינו, ובחלק התצוגה נשתמש במטריצת LED P10 כדי להראות את הציון מרחוק בזמן אמת.
מטריקס תצוגת LED P10
תצוגת P10 LED מטריקס היא הדרך הטובה ביותר זמינה לעשות לוח LED לשימוש חיצוני או פנימי. בלוח זה יש סך של 512 נוריות בהירות גבוהות המותקנות על מעטפת פלסטיק המיועדת לתוצאות התצוגה הטובות ביותר. זה גם מגיע עם דירוג IP65 לאיטום מה שהופך אותו למושלם לשימוש חיצוני. בעזרת זה, אתה יכול ליצור שלט LED גדול על ידי שילוב של מספר לוחות כאלה בכל מבנה שורה ועמודה.
הגודל של המודול שלנו הוא 32 * 16, כלומר יש 32 נוריות בכל שורה ו -16 נוריות בכל עמודה. אז, ישנם בסך הכל 512 נוריות LED בכל שלט לד. מלבד זאת, יש לו דירוג IP65 לאיטום, הוא יכול להיות מופעל על ידי מקור כוח 5V יחיד, יש לו זווית צפייה רחבה מאוד, והבהירות יכולה להגיע עד 4500 ניטים. אז תוכל לראות את זה בבירור באור יום שהביא. בעבר השתמשנו גם בתצוגת P10 זו עם Arduino לבניית לוח LED פשוט.
תיאור פין של מטריקס LED P10 :
לוח תצוגת LED זה משתמש בכותרת דואר של 10 פינים לחיבור קלט ופלט, בסעיף זה תארנו את כל הסיכות הדרושות למודול זה. כמו כן, ניתן לראות שיש מחבר 5V חיצוני באמצע המודול המשמש לחיבור הכוח החיצוני ללוח.
- אפשר: סיכה זו משמשת לשליטה על בהירות לוח LED, על ידי מתן דופק PWM אליו.
- A, B: אלה נקראים פינים לבחירת מולטיפלקס. הם לוקחים קלט דיגיטלי כדי לבחור שורות מרובות.
- שעון משמרת (CLK), שעון חנות (SCLK), ונתונים: אלה הם סיכות הבקרה הרגילות של משמרות המשמרת. כאן משתמשים במרשם משמרות 74HC595.
ממשק P10 תצוגת LED מודול ל Arduino:
חיבור מודול תצוגת המטריצה P10 לארדואינו הוא תהליך מאוד פשוט, במעגל שלנו, הגדרנו את סיכה 9 של הארדואינו כ- Enable pin, Pin 6 as Pin A, Pin 7 as pin B, Pin 13 is the CLK, Pin 8 is ה- SCLK, פין 11 הוא ה- DATA, ולבסוף פין GND הוא פין ה- GND עבור המודול והארדואינו, טבלה שלמה למטה מסבירה את תצורת הפין בצורה ברורה.
מודול P10 לד |
ארדואינו UNO |
לְאַפשֵׁר |
9 |
א |
6 |
ב |
7 |
CLK |
13 |
SCLK |
8 |
נתונים |
11 |
GND |
GND |
הערה: חבר את מסוף החשמל של מודול ה- P10 למקור חשמל חיצוני של 5 וולט, מכיוון ש -512 נוריות נוריות יצרכו הרבה מאוד כוח. מומלץ לחבר ספק כוח 5V, 3 אמפר DC ליחידה אחת של מודול LED P10. אם אתה מתכנן לחבר מודול מספרים נוסף, הגדל את יכולת ה- SMPS שלך בהתאם.
רכיבים נדרשים ללוח התוצאות של Arduino
מכיוון שמדובר בפרויקט פשוט מאוד, דרישות הרכיבים הן כלליות מאוד, רשימת הרכיבים הנדרשים מוצגת להלן. אתה אמור להיות מסוגל למצוא את כל החומרים הרשומים בחנות התחביבים המקומית שלך.
- ארדואינו ננו
- תצוגת מטריצת LED P10
- קרש לחם
- 5 V, 3 AMP SMPS
- מודול Bluetooth HC-05
- חוטי חיבור
תרשים מעגלים עבור לוח התוצאות של Arduino
סכמטי לוח התוצאות של LED Arduino מוצג להלן מכיוון שפרויקט זה הוא פשוט מאוד, השתמשתי בתוכנות הפופולאריות לפיתוח הסכמה.
העבודה של המעגל היא מאוד פשוטה, יש לנו יישום אנדרואיד ומודול Bluetooth, כדי לתקשר בהצלחה עם מודול ה- Bluetooth, אתה צריך להתאים את מודול HC-05 ליישום אנדרואיד. ברגע שאנחנו מחוברים, אנחנו יכולים לשלוח את המחרוזת שברצוננו להציג, לאחר שנשלח המחרוזת, ארדואינו יעבד את המחרוזת וימיר אותה לאות שהנגן הפנימי 74HC595 יכול להבין, לאחר שנשלח הנתונים למשמרת. נגד, זה מוכן להצגה.
הסבר על קוד התוצאות של Arduino
לאחר השלמת ההתקנה המוצלחת של החומרה, הגיע הזמן לתכנות של Arduino Nano. התיאור השלבי של הקוד ניתן להלן. כמו כן, תוכל לקבל את קוד לוח התוצאות של Arduino בתחתית הדרכה זו.
קודם כל, עלינו לכלול את כל הספריות. השתמשנו בספריית DMD.h על מנת לשלוט בתצוגת ה- P10. אתה יכול להוריד ולכלול אותו מהקישור GitHub הנתון. לאחר מכן, עליך לכלול את הספרייה TimerOne.h, אשר תשמש לקידום התכנות בקוד שלנו.
יש הרבה חזיתות בספרייה זו, השתמשנו ב- " Arial_black_16 " עבור פרויקט זה.
#לִכלוֹל
בשלב הבא, מספר השורות והעמודות מוגדרים עבור לוח המטריצות LED שלנו. השתמשנו רק במודול אחד בפרויקט זה, כך שניתן להגדיר גם ערך ROW וגם ערך COLUMN כ -1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
לאחר מכן מוגדרים כל המשתנים המשמשים בקוד. משתנה תווים משמש לקבלת נתונים טוריים מאפליקציית Android, שני ערכים שלמים משמשים לאחסון ציונים, ומוגדר מערך המאחסן את הנתונים הסופיים שיוצגו במטריקס.
קלט char int a = 0, b = 0; דגל int = 0; char cstr1;
מוגדרת פונקציית scan_module () הבודקת ברציפות את הנתונים הנכנסים מארדואינו ננו דרך ה- SPI. אם כן, הדבר יביא להפסקה לביצוע אירועים מסוימים כפי שהוגדר על ידי המשתמש בתוכנית.
בטל scan_module () { led_module.scanDisplayBySPI (); }
בתוך ההתקנה (), הטיימר מאותחל, וההפרעה מחוברת לפונקציה scan_module, עליה דובר קודם. בתחילה, המסך נוקה באמצעות מסך ברור פונקציה (נכון), כלומר כל הפיקסלים מוגדרים כבוי.
בהתקנה, תקשורת טורית הופעלה גם באמצעות פונקציה Serial.begin (9600) כאשר 9600 הוא קצב השידור עבור תקשורת Bluetooth.
הגדרת חלל () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (נכון); }
כאן נבדקת זמינות הנתונים הסדרתית, אם יש נתונים תקפים שמגיעים מארדואינו או לא. הנתונים שהתקבלו מהאפליקציה נשמרים במשתנה.
אם (Serial.available ()> 0) { flag = 0; קלט = Serial.read ();
לאחר מכן הושווה הערך שהתקבל למשתנה שהוגדר מראש. כאן, ביישום אנדרואיד, נלקחים שני כפתורים לבחירת הציונים לשתי הקבוצות. כשלוחצים על כפתור 1, תו 'a' מועבר לארדואינו וכאשר לוחצים על כפתור 2, דמות 'ב' מועברת לארדואינו. לפיכך, בחלק זה, נתונים אלה מותאמים, ואם הם מותאמים, ערכי הניקוד בהתאמה מוגברים כפי שמוצג בקוד.
if (input == 'a' && flag == 0) { flag = 1; a ++; } אחר אם (קלט == 'b' && דגל == 0) { דגל = 1; b ++; } אחר;
לאחר מכן, הנתונים המתקבלים מומרים למערך תווים, מכיוון שפונקציית המטריצה P10 מסוגלת להציג רק סוג נתוני תווים. זו הסיבה שכל המשתנים מומרים ומורכבים למערך תווים.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
לאחר מכן, כדי להציג מידע במודול, הגופן נבחר באמצעות פונקציית הבחירה (). ואז משתמשים בפונקציית drawMarquee () כדי להציג את המידע הרצוי על לוח P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
לבסוף, כשאנחנו זקוקים לתצוגת הודעות גלילה, כתבתי קוד כדי להעביר את כל ההודעה שלנו מכיוון ימין לשמאל באמצעות תקופה מסוימת.
התחלה ארוכה = מילי (); זמזום ארוך = התחלה; דגל בוליאני = שקר; בעוד (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); זמזום = מילי (); } }
זה מסיים את סוף תהליך הקידוד שלנו. ועכשיו הוא מוכן להעלאה.
לוח תוצאות מבוקר לסמארטפון - בדיקה
לאחר העלאת קוד לארדואינו, הגיע הזמן לבדוק את הפרויקט. לפני כן, יש להתקין את אפליקציית האנדרואיד בסמארטפון שלנו. ניתן להוריד את היישום P10 Score Board מהקישור הנתון. לאחר ההתקנה, פתח את האפליקציה ומסך הבית אמור להיראות כמו התמונה למטה.
לחץ על כפתור הסריקה כדי להוסיף את מודול ה- Bluetooth עם האפליקציה. פעולה זו תציג את רשימת התקני ה- Bluetooth המותאמים לטלפון. אם טרם התאמת את מודול ה- Bluetooth HC-05, התאם את המודול באמצעות הגדרת ה- Bluetooth של הטלפון שלך ואז בצע שלב זה. המסך ייראה כמו שמוצג:
לאחר מכן, מהרשימה, לחץ על "HC-05" מכיוון שזהו שם מודול ה- Bluetooth שלנו המשמש כאן. לאחר לחיצה עליו, הוא יופיע מחובר על המסך. ואז נוכל להמשיך בלוח התוצאות.
לחץ על כל כפתור בין "בית" ל"רחוק "כפי שמוצג באפליקציה. אם נבחר כפתור הבית, הניקוד של הבית יוגדל בתצוגת P10. באופן דומה, אם נבחר כפתור ה- Away, הניקוד של Away יוגדל. התמונה למטה מראה כיצד נראה המסך הסופי.
אני מקווה שאהבתם את הפרויקט ולמדתם משהו חדש, אם יש לכם שאלות נוספות בנוגע לפרויקט, אתם מוזמנים להגיב למטה או שתוכלו לשאול את שאלתכם בפורום שלנו.