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

תצוגה דו ספרתית באמצעות מטריצת LED 8x8 בודדת: 3 שלבים
תצוגה דו ספרתית באמצעות מטריצת LED 8x8 בודדת: 3 שלבים

וִידֵאוֹ: תצוגה דו ספרתית באמצעות מטריצת LED 8x8 בודדת: 3 שלבים

וִידֵאוֹ: תצוגה דו ספרתית באמצעות מטריצת LED 8x8 בודדת: 3 שלבים
וִידֵאוֹ: קריאה כתיבה לפורט - מבוא למערכות משובצות מחשב (ארדואינו) | הנדסת אלקטרוניקה ומחשבים לכיתות י,יא,יב 2024, יולי
Anonim
תצוגה דו ספרתית באמצעות מטריצת לד אחת 8x8
תצוגה דו ספרתית באמצעות מטריצת לד אחת 8x8

כאן הייתי רוצה לבנות מחוון טמפרטורה ולחות לחדר שלי. השתמשתי במטריקס LED יחיד 8x8 להצגת מספרים דו ספרתיים, ואני חושב שחלק מהפרויקט הפך להיות שימושי יותר. ארגזתי את הגמר שנבנה באמצעות קופסת קרטון, צבועה כמו עץ.

אספקה

  1. Arduino Nano x1
  2. חיישן טמפרטורה ולחות DHT11 x1
  3. מטריצת LED 8x8 עם MAX7219 x1
  4. נגד 10K x1
  5. חוטי כותרת
  6. ספק כוח 5V x1
  7. קופסת קרטון (4x8x13 ס"מ)

שלב 1: סכמטי

סכמטי
סכמטי

חיישן טמפרטורה ולחות דיגיטלי DHT11 מספק טמפרטורות שבין 0 - 50 ° C ולחות בין 20% עד 90%. דיוק הטמפרטורה הוא ± 2 ° C (מקסימום) ודיוק הלחות הוא ± 5%.

DHT11 מספק גם ערכי נקודת טל. נקודת הטל היא הטמפרטורה שאליה יש לקרר את האוויר כדי להפוך רווי באדי מים. כאשר יתקרר עוד יותר, אדי המים המוטסים יתעבו ויצרו מים נוזליים.

שלב 2: חיווט ואיגרוף

חיווט ואיגרוף
חיווט ואיגרוף
חיווט ואיגרוף
חיווט ואיגרוף
חיווט ואיגרוף
חיווט ואיגרוף
חיווט ואיגרוף
חיווט ואיגרוף

ראשית ציירתי את קופסת הקרטון בצבע אקרילי ולאחר ייבוש למשך יום אחד סיימתי עם ספריי שיער. הכנתי חלון מרובע לתצוגת LED בכריכה הקדמית. כמו כן פתחתי חור מלבן קטן לאספקת החשמל של Arduino Nano ושמתי מספר חורים ליד חיישן DHT11.

תיקנתי את הארדואינו בפינת הקופסה הראשית בעזרת קופסה קטנה וסיליקון חם.

הנחתי את מטריצת ה- LED בחלון באמצעות פסי קלטת שקופים. כאן חשוב למקם אותו עם סיבוב של 90 ° נגד כיוון השעון מכיוון שהקוד ישתמש ב -4 השורות העליונות בעשר ספרות וב -4 השורות התחתונות עבור ספרות יחידה. עבור המודול השתמשתי בצד עם MAX7219 צריך להיות בצד הבסיס.

מכיוון שהנחתי את Arduino ואת החיישן בצד הסגירה של הקופסה לא יכולתי לסגור אותו במלואו?. כדאי שתבחר את הצד השני:).

שלב 3: קוד

קוד
קוד
קוד
קוד
קוד
קוד

טען תחילה את הספרייה עבור DHT11 (https://github.com/adidax/dht11) ומטריצת LED (https://github.com/wayoda/LedControl) אם עדיין אין לך.

הקוד משתמש ב -4 השורות הראשונות של מטריצת ה- LED כעשרות וב -4 השורות האחרונות כיחידות. כך למשל אם תבדוק את הקוד כ"אחד "תראה את" 11 "כשהוא מסתובב 90 ° עם כיוון השעון. אם ברצונך לשנות את הקודים הללו אנא שמור על פרט זה.

בת אחת = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

הקודים לקבלת הספרות מקריאת החיישן הם:

יחידות = % 10 לחים; עשרות = (לח /10) % 10;

עבור עשרות ספרות הלולאה for פועלת כדלקמן:

if (tens == 1) {for (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

עבור יחידות ספרות ריצת הלולאה פועלת כדלקמן:

if (units == 1) {for (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

סדר התצוגה נמצא בלולאה כדלקמן:

"° C" -> טמפרטורה -> "זמזום" -> לחות -> "dp" -> נקודת טל -> משמעות נקודת הטל (הסבר להלן)

יש לי מידע על איך אנשים מרגישים את מזג האוויר בהתאם לנקודת הטל ומכניסים את המידע הזה לקוד כדלקמן:

dp <10: יבש

9 <dp <15: טוב (g..d)

14 <dp <18: סחף (sw)

17 <dp <24: Sweltry plus (sw +)

dp> 23: רטוב

התצוגה של מילה זו אינה טובה אך עדיין מובנת לתצוגה יחידה של 8x8

מוּמלָץ: