מדריך חיבור מודול חיישן טמפרטורה ולחות DHT11 ל-Arduino ו-ESP32:
במדריך זה נלמד כיצד לחבר מודול חיישן טמפרטורה ולחות DHT11 לבקר Arduino UNO ולבקר ESP32.
נראה איך לקרוא את הטמפרטורה והלחות דרך יציאה דיגיטלית אחת,
ואיך להציג את הערכים ב-Serial Monitor.
מהו חיישן DHT11?
DHT11 הוא חיישן דיגיטלי למדידת טמפרטורה ולחות יחסית באוויר.
החיישן כולל רכיב למדידת לחות ורכיב למדידת טמפרטורה,
ומעביר את הנתונים לבקר דרך פין DATA אחד.
החיישן מתאים לפרויקטים בסיסיים של ניטור חדרים, תחנת מזג אוויר פשוטה,
חממה לימודית, בקרת לחות וניסויים עם Arduino ו-ESP32.
חשוב לדעת: DHT11 פשוט וזול יותר מ-DHT22, אך הוא פחות מדויק,
בעל טווח מדידה קטן יותר, ומתאים בעיקר לפרויקטים לימודיים או מדידה כללית.
איך החיישן עובד?
DHT11 מודד את הטמפרטורה והלחות בתוך החיישן, ולאחר מכן שולח לבקר חבילת נתונים דיגיטלית.
בניגוד לחיישנים אנלוגיים, אין צורך להשתמש בכניסת ADC.
בדרך כלל משתמשים בספריית DHT מוכנה, לדוגמה DHT sensor library,
כדי לקרוא את הנתונים בצורה פשוטה.
- Temperature — טמפרטורה במעלות Celsius.
- Humidity — לחות יחסית באחוזים.
- DATA — קו דיגיטלי יחיד להעברת הנתונים.
החיישן אינו מיועד לקריאה מהירה. מומלץ להמתין לפחות כשנייה אחת בין קריאות,
ובפרויקטים רגילים עדיף להשתמש בהשהיה של כשתי שניות כדי לקבל מדידה יציבה.
פינים במודול DHT11
| פין | תפקיד |
|---|---|
| VCC | מתח הזנה לחיישן |
| DATA / OUT | יציאה דיגיטלית להעברת נתוני טמפרטורה ולחות |
| GND | אדמה |
ברוב מודולי DHT11 יש נגד Pull-Up מובנה על קו DATA.
אם משתמשים בחיישן DHT11 ללא לוח מודול, ייתכן שיהיה צורך להוסיף נגד Pull-Up חיצוני בין DATA ל-VCC.
רכיבים נדרשים
- מודול חיישן טמפרטורה ולחות DHT11
- Arduino UNO או ESP32
- Breadboard
- חוטי Dupont
- כבל USB
- Arduino IDE
- ספריית DHT sensor library
חיבור DHT11 ל-Arduino UNO

| DHT11 | Arduino UNO |
| VCC | 5V |
| DATA / OUT | D2 |
| GND | GND |
הסבר חיבור
ב-Arduino UNO מחברים את פין DATA של החיישן לפין דיגיטלי, לדוגמה D2.
החיישן מקבל מתח הזנה של 5V, והנתונים נקראים דרך ספריית DHT.
אם מתקבלת שגיאת קריאה, יש לבדוק את סדר הפינים, את התקנת הספרייה,
ואת קיום נגד Pull-Up על קו DATA במידת הצורך.
קוד Arduino בסיסי לקריאת החיישן
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float humidity = dht.readHumidity();
float temperatureC = dht.readTemperature();
if (isnan(humidity) || isnan(temperatureC)) {
Serial.println("Failed to read from DHT11 sensor");
delay(2000);
return;
}
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
Serial.println("-------------------");
delay(2000);
}הסבר הקוד
הקוד מפעיל את ספריית DHT וקורא מהחיישן שני ערכים:
טמפרטורה ולחות יחסית.
אם הקריאה נכשלת, הקוד מציג הודעת שגיאה ולא מציג ערכים לא תקינים.
בסוף כל קריאה יש השהיה של שתי שניות כדי לא לקרוא את החיישן מהר מדי.
חיבור DHT11 ל-ESP32

הערה חשובה לפני החיבור
ESP32 עובד ברמת לוגיקה של 3.3V.
DHT11 יכול לעבוד בדרך כלל גם עם 3.3V, ולכן בחיבור ל-ESP32 מומלץ להזין את המודול מ-3V3.
אם מזינים את המודול מ-5V, יש לוודא שקו DATA אינו נמשך ל-5V,
משום שכניסות ESP32 אינן מיועדות לרמת לוגיקה של 5V.
| DHT11 | ESP32 |
| VCC | 3V3 |
| DATA / OUT | GPIO27 |
| GND | GND |
הסבר חיבור
ב-ESP32 ניתן להשתמש בפין דיגיטלי רגיל, לדוגמה GPIO27.
אין צורך להשתמש בכניסת ADC, מכיוון שהחיישן שולח נתונים דיגיטליים.
אם יש בעיות קריאה, מומלץ לבדוק את מתח ההזנה, את קו DATA,
את הספרייה ואת ההמתנה בין הקריאות.
קוד ESP32 בסיסי לקריאת החיישן
#include <DHT.h>
#define DHTPIN 27
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
}
void loop() {
float humidity = dht.readHumidity();
float temperatureC = dht.readTemperature();
if (isnan(humidity) || isnan(temperatureC)) {
Serial.println("Failed to read from DHT11 sensor");
delay(2000);
return;
}
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
Serial.println("-------------------");
delay(2000);
}הסבר הקוד
הקוד עבור ESP32 דומה לקוד Arduino, אך משתמש בפין GPIO27 ובמהירות Serial של 115200.
הנתונים נקראים דרך ספריית DHT ומוצגים ב-Serial Monitor.
גם כאן יש להמתין בין קריאות, משום ש-DHT11 אינו חיישן מהיר.
טיפים לעבודה נכונה
- לא לקרוא את החיישן מהר מדי; מומלץ להשתמש בהשהיה של 1–2 שניות.
- לוודא שיש Pull-Up על קו DATA, במיוחד אם משתמשים בחיישן ללא מודול.
- להרחיק את החיישן ממקור חום ישיר כדי לא לקבל קריאה לא מייצגת.
- לא להשתמש ב-DHT11 למדידה מדויקת מאוד; למדידה טובה יותר עדיף DHT22.
- ב-ESP32 מומלץ להזין את המודול מ-3V3 כדי לשמור על רמות לוגיקה בטוחות.
פרויקט לדוגמה
מד טמפרטורה ולחות עם DHT11, LCD ו-LEDs

בפרויקט זה משתמשים בחיישן DHT11 יחד עם Arduino UNO כדי למדוד טמפרטורה ולחות.
הנתונים מוצגים על מסך LCD 16×2, ובנוסף קיימות שלוש נוריות LED שמציגות מצב טמפרטורה שונה.
מעבר לחיישן עצמו, הפרויקט כולל מסך LCD, נוריות LED, נגדים ולוח Breadboard,
ולכן הוא מתאים ללמידה על קריאת חיישנים, הצגת נתונים וחיווי חזותי פשוט.
סיכום
מודול DHT11 הוא חיישן פשוט ונוח למדידת טמפרטורה ולחות בפרויקטים עם Arduino ו-ESP32.
בעזרת פין DATA אחד וספריית DHT ניתן לקרוא ממנו ערכים דיגיטליים ולהשתמש בהם בתחנת מזג אוויר,
ניטור חדרים, חממה לימודית או מערכת חיווי בסיסית.
חשוב לזכור ש-DHT11 פחות מדויק מ-DHT22, ולכן הוא מתאים בעיקר לפרויקטים לימודיים ולמדידה כללית,
ולא למדידה מקצועית או מהירה.