לחות וטמפרטורה הם פרמטרים נפוצים למדידת תנאי הסביבה. בפרויקט זה המבוסס על Arduino אנו הולכים למדוד את טמפרטורת הסביבה והלחות ולהציג אותה על גבי מסך LCD בגודל 16x2. טמפרטורה משולבת וחיישן הלחות DHT11 משמשים עם Arduino uno לפיתוח מדחום בקנה מידה צלזיוס ופרויקט מדידת לחות בקנה מידה אחוז. באחד הפרויקטים הקודמים שלי פיתחתי גם מדחום דיגיטלי באמצעות חיישן הטמפרטורה LM35.
פרויקט זה מורכב משלושה חלקים - האחד חש את הלחות והטמפרטורה באמצעות חיישן הלחות והטמפרטורה DHT11. החלק השני קורא את תפוקת מודול ה- DHTsensor ומחלץ ערכי טמפרטורה ולחות למספר מתאים באחוזים ובסולם צלזיוס. והחלק השלישי של המערכת מציג לחות וטמפרטורה על גבי LCD.
עבודתו של פרויקט זה מבוססת על תקשורת טורית חד חוטית. תחילה שולחים arduino אות התחלה למודול DHT ואז DHT נותן אות תגובה המכיל נתוני טמפרטורה ולחות. Arduino לאסוף ולחלץ בשני חלקים אחד הוא לחות והשני הוא טמפרטורה ואז לשלוח אותם ל 16x2 LCD.
כאן בפרויקט זה השתמשנו במודול חיישנים כלומר DHT11. מודול זה כולל מתחם לחות וטמפרטורה עם פלט אות דיגיטלי מכויל, כלומר מודול חיישן DHT11 הוא מודול משולב לחישת לחות וטמפרטורה הנותן אות פלט דיגיטלי מכויל. DHT11 נותן לנו ערך מדויק מאוד של לחות וטמפרטורה ומבטיח אמינות גבוהה ויציבות לטווח הארוך. לחיישן זה רכיב מדידת לחות מסוג התנגדות ורכיב מדידת טמפרטורה מסוג NTC עם מיקרו-בקר מובנה בעל 8 סיביות בעל תגובה מהירה וחסכונית וזמין בחבילה של שורה אחת עם 4 פינים.
מודול DHT11 עובד על תקשורת טורית כלומר תקשורת חוט יחיד. מודול זה שולח נתונים בצורה של דופק של פרק זמן ספציפי. לפני שליחת נתונים ל- arduino הוא זקוק לפקודת אתחול מסוימת עם עיכוב בזמן. וכל זמן התהליך הוא בערך 4ms. העברת נתונים מלאה היא של 40 סיביות ופורמט הנתונים של תהליך זה ניתן להלן:
נתוני RH אינטגרליים 8 סיביות + נתוני RH עשרוניים 8 סיביות + נתוני T אינטגרליים 8 סיביות + נתוני T עשרוניים 8 סיביות + סכום בדיקה 8 סיביות.
תהליך שלם
קודם כל, arduino שולח אות התחלה גבוהה ונמוכה ל- DHT11 עם עיכוב של 18 מיקרוגרם כדי להבטיח את זיהוי ה- DHT. ואז ארדואינו מושך את קו הנתונים ומחכה 20-40 מיקרוגרם לתגובת DHT. ברגע ש- DHT מזהה את אות ההתחלה, הוא ישלח אות תגובה ברמת מתח נמוך ל arduino עם עיכוב זמן של כ 80 µs. ואז בקר DHT מושך את קו הנתונים ושומר אותו למשך 80 מיקרו שניות לצורך סידור שליחת נתונים של DHT.
כאשר אוטובוס הנתונים נמצא ברמת מתח נמוכה המשמעות היא ש- DHT11 שולח אות תגובה. ברגע שזה נעשה, DHT עושה שוב משיכת קו נתונים למשך 80 µs להכנת העברת נתונים.
פורמט נתונים שנשלח על ידי DHT ל- arduino עבור כל ביט מתחיל ברמת מתח נמוכה של 50 מיקרו ואורך האות ברמת מתח גבוהה קובע אם סיבית הנתונים היא "0" או "1".
דבר אחד חשוב הוא לוודא כי ערך הנגד משוך כי אם אנו מציבים חיישן DHT במרחק של פחות מ -20 מטר, מומלץ נגד נגד משיכה למעלה. אם הנחת DHT ארוכה יותר מ -20 מטר, השתמש בנגד הולם כלפי מעלה.
תרשים מעגל והסבר
תצוגת גביש נוזלי משמשת להצגת טמפרטורה ולחות המחוברים ישירות לארדואינו במצב 4 סיביות. סיכות של LCD כלומר RS, EN, D4, D5, D6 ו- D7 מחוברות לסיכה דיגיטלית של ארדואינו מספר 2, 3, 4, 5, 6 ו 7. ומודול חיישן DHT11 מחובר גם לסיכה דיגיטלית 12 של ארדואינו עם נגד משיכה 5k.
תיאור תכנות
בתכנות אנו נשתמש בספריות שנבנו מראש עבור חיישן DHT11 ומודול תצוגת LCD.
ואז קיבלנו סיכות מוגדרות עבור חיישן LCD ו- DHT ואותחלנו את כל הדברים בהגדרה. ואז בלולאה באמצעות פונקציית dht קורא חיישן DHT ואז באמצעות כמה פונקציות dht אנו מחלצים לחות וטמפרטורה ומציגים אותם על גבי LCD.
כאן נוצר סמל התואר באמצעות שיטת תווים מותאמת אישית.