חיישן טמפרטורה ולחות – DHT22
תוכן עניינים
במדריך זה נצלול לעומק אל תוך חיישן הטמפרטורה והלחות המתקדם DHT22 ונלמד כיצד לשלב אותו בפרויקטים של Arduino.
נכסה את הנושאים הבאים:
1. מבוא מקיף לחיישן DHT22 ועקרונות הפעולה שלו
2. השוואה בין DHT22 ל-DHT11
3. מפרט טכני מפורט ומאפיינים עיקריים
4. הוראות חיווט וחיבור לארדואינו, כולל טיפים חשובים
5. התקנה ושימוש בספריית DHT של Adafruit
6. קוד לדוגמה מפורט לקריאת טמפרטורה ולחות
7. רעיונות מעשיים ומרתקים לפרויקטים
8. טיפים, זהירות ושיקולים חשובים בעת השימוש בחיישן
מבוא לחיישן DHT22
חיישן DHT22 (הידוע גם כ-AM2302) הוא חיישן דיגיטלי מתקדם לטמפרטורה ולחות יחסית. הוא מציע דיוק ודירוג גבוהים יותר בהשוואה לחיישן הפופולרי DHT11, מה שהופך אותו לבחירה מועדפת עבור יישומים הדורשים מדידות מדויקות יותר.
עקרון הפעולה – הסבר מעמיק
בדומה ל-DHT11, חיישן DHT22 משלב שני רכיבי חישה עיקריים: חיישן לחות קיבולי וחיישן טמפרטורה תרמיסטור. החיישנים מחוברים למעגל בקרה פנימי שמבצע את המדידות ומשדר את הנתונים הדיגיטליים למיקרו-בקר.
חיישן הלחות הקיבולי מודד את הלחות היחסית על ידי שינוי הקיבול החשמלי שלו בהתאם לכמות אדי המים בסביבה. המעגל הפנימי מומר את הקיבול למתח דיגיטלי ומבצע תיקון טמפרטורה ליניארי לפיצוי על תלות הטמפרטורה של החיישן.
חיישן הטמפרטורה התרמיסטור של DHT22 מספק דיוק גבוה יותר וטווח מדידה רחב יותר בהשוואה לזה של DHT11. הוא משתמש בתרמיסטור מסוג NTC (מקדם טמפרטורה שלילי) כדי למדוד את הטמפרטורה ומשמש גם לפיצוי טמפרטורה של חיישן הלחות.
בעזרת מעגל בקרה פנימי מתוחכם, DHT22 מספק תוצאות מדידה מדויקות ויציבות עם פחות רגישות לתנודות בתנאי הסביבה. המשדר של החיישן תומך בתקשורת דו-כיוונית, מה שמבטיח העברת נתונים מלאה ללא שגיאות.
מפרט טכני
הנה מבט מקרוב על המפרט הטכני המלא והמאפיינים של חיישן DHT22:
☸ מתח עבודה: 3.3V – 6V DC (5V מומלץ)
☸ צריכת זרם: 1.5mA – 2.5mA במהלך המרה (מקסימום 2.5mA)
☸ טווח מדידת לחות: 0% עד 100% RH
☸ דיוק מדידת לחות: ±2% RH (מקסימום ±5%)
☸ טווח מדידת טמפרטורה: -40°C עד 80°C
☸ דיוק מדידת טמפרטורה: <±0.5°C
☸ רזולוציית לחות: 0.1% RH
☸ רזולוציית טמפרטורה: 0.1°C
☸ זמן תגובה: <10 שניות (במהירות אוויר של 1 מטר/שנייה)
☸ ממדים: 25.1mm x 15.1mm x 7.7mm
השוואה בין DHT22 ל-DHT11
מאפיין | DHT11 | DHT22 |
טווח מדידת לחות | 20-90% RH | 0-100% RH |
דיוק מדידת לחות | ±5% RH | ±2% RH |
טווח מדידת טמפרטורה | 0°C – 50°C | 40°C – 80°C- |
דיוק מדידת טמפרטורה | ±2°C | ±0.5°C |
רזולוציית לחות | 1% RH | 0.1% RH |
רזולוציית טמפרטורה | 1°C | 0.1°C |
קצב דגימה | 1 הרץ (כל שנייה) | 0.5 הרץ (כל 2 שניות) |
גודל | 15.5mm x 12mm x 5.5mm | 25mm x 15mm x 7.7mm |
כפי שניתן לראות, DHT22 מציע שיפורים משמעותיים בדיוק, רזולוציה וטווח פעולה לעומת DHT11. הוא מתאים יותר ליישומים הדורשים רמה גבוהה יותר של דיוק ועקביות בקריאות הטמפרטורה והלחות.
חיבור לארדואינו
חיבור DHT22 לארדואינו זהה לחיבור של DHT11:
הנה טבלה המציגה את חיבורי החיישן לארדואינו:
פין DHT22 | פין Arduino |
VCC | 5V |
DATA | דיגיטלי 2 |
GND | GND |
חשוב לזכור להוסיף נגד 10kΩ pull-up בין VCC לפין DATA של DHT22 כדי להבטיח תקשורת יציבה ומהימנה עם המיקרו-בקר.
התקנת ספריית DHT של Adafruit
כדי לעבוד עם DHT22 בארדואינו, נשתמש בספריית DHT האמינה והנפוצה של Adafruit. הספרייה תומכת הן ב-DHT11 והן ב-DHT22 ומרחיבה מאוד את תהליך קריאת הנתונים מהחיישן.
להתקנת הספרייה:
1. פתח את תוכנת הארדואינו (Arduino IDE)
2. עבור אל Sketch -> Include Library -> Manage Libraries
3. חפש “DHT sensor library” מאת Adafruit
4. בחר בגרסה העדכנית ביותר ולחץ על “Install”
לאחר התקנת הספרייה, תוכל לכלול אותה בסקיצה שלך באמצעות הפקודה:
#include <DHT.h>
קוד לדוגמה – קריאת טמפרטורה ולחות
הנה קטע קוד מפורט המדגים כיצד לקרוא טמפרטורה ולחות מחיישן DHT22 באמצעות ספריית Adafruit:
#include
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
dht.begin();
}
void loop()
{
delay(2000); // המתנה של 2 שניות בין קריאות
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature))
{
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C");
float heatIndex = dht.computeHeatIndex(temperature, humidity, false);
Serial.print("Heat index: ");
Serial.print(heatIndex);
Serial.println("°C");
}
הקוד דומה מאוד לזה שהשתמשנו עבור DHT11, אך עם כמה שינויים עיקריים:
1. אנו מגדירים את DHTTYPE כ-DHT22 במקום DHT11.
2. אנו משתמשים במשתנים מסוג float כדי לאחסן את ערכי הטמפרטורה והלחות, מכיוון ש-DHT22 מספק דיוק עשרוני גבוה יותר.
3. אנו משתמשים בפונקציה dht.computeHeatIndex לחישוב אינדקס החום על סמך הטמפרטורה והלחות הנמדדות.
קוד זה יקרא ויציג את הטמפרטורה, הלחות ואינדקס החום מחיישן DHT22 כל 2 שניות.
רעיונות לפרויקטים
1. תחנת מזג אוויר עם ממשק אינטרנט: השתמש ב-DHT22 כדי לבנות תחנת מזג אוויר המחוברת לאינטרנט המציגה נתונים בזמן אמת וגרפים היסטוריים באמצעות פלטפורמה כמו ThingSpeak או Adafruit IO.
2. בקרת לחות עבור חדר נקי: השתמש ב-DHT22 כדי לנטר ולשמור על רמות לחות אופטימליות בחדר נקי או בסביבה רגישה אחרת. שלוט במערכת האוורור והלחות כדי לשמור על תנאים קבועים.
3. מערכת זיהוי דליפות: השתמש במספר חיישני DHT22 כדי לזהות דליפות מים או מיזוג אוויר על ידי ניטור שינויים פתאומיים בלחות בחלקים שונים של בניין או מבנה.
4. בקרת תנאי אחסון: השתמש ב-DHT22 כדי לנטר טמפרטורה ולחות במתקני אחסון למזון, תרופות או חומרים רגישים אחרים. התרע כאשר התנאים חורגים מטווח קביל מוגדר מראש.
טיפים וזהירות
– כמו עם כל מעגלי האלקטרוניקה, וודא שאתה מקפיד על קוטביות נכונה בעת חיבור החיישן.
– הימנע ממגע ישיר של החיישן עם מים או לחות גבוהה מאוד, שכן הדבר עלול לגרום לנזק בלתי הפיך.
– שמור על החיישן הרחק ממקורות חום או קור קיצוניים.
– היזהר לא לחרוג מהמתח והזרם המרביים המצוינים במפרט הטכני.
– הימנע משימוש בכבלים ארוכים מדי בין החיישן לארדואינו, מכיוון שזה עלול לגרום להפרעות ולשגיאות בקריאה.
– בעת השוואת קריאות מחיישנים מרובים, חשוב לקחת בחשבון את סטיית הייצור של 2% RH ו-0.5°C.
– עבור קריאות מדויקות ביותר, כלול תיקון לתלות הטמפרטורה והלחות באמצעות נוסחאות פיצוי.
– קח בחשבון שזמן התגובה של DHT22 איטי מעט, ולכן הוא אינו מתאים למדידות עם תדירות גבוהה.
סיכום
חיישן DHT22 מהווה שדרוג משמעותי לחיישן DHT11 הפופולרי, עם דיוק וטווחי מדידה משופרים. הוא מתאים היטב ליישומים הדורשים ניטור אמין של טמפרטורה ולחות, כמו מערכות בקרת אקלים, תחנות מזג אוויר ומערכי חיישנים סביבתיים.
למרות שהשימוש בחיישן דומה מאוד ל-DHT11, DHT22 מציע שיפורים חשובים כמו רזולוציית מדידה גבוהה יותר, תלות טמפרטורה מופחתת ותקשורת משופרת. עם זאת, חשוב להבין את המגבלות שלו, כגון זמן תגובה איטי יותר וצריכת זרם גבוהה מעט יותר.
הספרייה הנפוצה של Adafruit עבור חיישני DHT הופכת את השילוב של DHT22 בפרויקטים של Arduino לפשוט ונוח. עם פונקציות קלות לשימוש לקריאת טמפרטורה, לחות וחישוב אינדקס חום, תוכל במהירות להתחיל לאסוף נתונים מהחיישן.
עם ההבנה העמוקה של עקרונות הפעולה של DHT22, המפרט הטכני המפורט והדוגמאות המעשיות שסופקו במדריך זה, אתה מוכן להתחיל לחקור את היישומים הרבים והמגוונים של חיישן זה. בין אם אתה בונה תחנת מזג אוויר, מערכת לבית חכם או כל פרויקט אחר הדורש ניטור טמפרטורה ולחות, DHT22 ישמש אותך היטב.
זכור לנסות ולהתאים את הקוד שלך לדרישות הייחודיות של הפרויקט שלך. עם מעט יצירתיות ואקספרימנטציה, תהיה מופתע מההישגים של DHT22 בשילוב עם Arduino. בהצלחה, ואל תהסס לחקור את הפוטנציאל המלא שלו כחיישן טמפרטורה ולחות מהימן ומדויק!