תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
במדריך זה ננסה את חיישן DHT11 באמצעות Arduino.
ניתן להשתמש ב- DHT11 למדידת טמפרטורה ולחות.
רכיבים נדרשים:
- ארדואינו ננו
- חיישן טמפרטורה ולחות DHT11
- מיני USB
- כבלי מגשר
הספרייה הנדרשת:
ספריית DHT
שלב 1: חבר DHT11 ל- Arduino
חבר DHT11 ל- Arduino באמצעות כבלי מגשר.
עיין בתמונה או עקוב אחר ההוראות להלן.
DHT11 לארדואינו
+ => + 5V
החוצה => D12
- => GND
לאחר מכן חבר את arduino למחשב באמצעות מיני USB
שלב 2: הוסף את ספריית DHT
ניתן להוריד את ספריית DHT כאן:
ספריית DHT11.
להוספת ספרייה ראו את התמונה למעלה או בצעו את ההוראות שלהלן:
פתח את Sketch ==> כלול ספרייה ==> הוסף ספריית zip
מצא את קובץ הספרייה שהורדת.
אם הוא הצליח, סגור את ארדואינו ופתח אותו שוב.
שלב 3: בחר לוח Arduino
עבור אל כלים והתאם את לוח הארדואינו לתמונה למעלה.
לוח "ארדואינו ננו"
מעבד "ATmega328P (מטען אתחול ישן)"
למאמר שלם יותר, תוכל לקרוא על "כיצד להשתמש ב- Arduino Nano v.3" שיצרתי קודם.
שלב 4: תכנית
כלול קוד זה כדי לקרוא את הערך מחיישן DHT11
// חיישן טמפרטורה ולחות DHT // דוגמה לספריית חיישן מאוחדת // נכתב על ידי טוני דיקולה לתעשיות Adafruit // פורסם תחת רישיון MIT.
// דורש את ספריות Arduino הבאות:
// - ספריית חיישן DHT: https://github.com/adafruit/DHT-sensor-library // - Adafruit Unified Sensor Lib:
#לִכלוֹל
#כלול #כלול
#define DHTPIN 2 // סיכה דיגיטלית המחוברת לחיישן DHT
// נוצה HUZZAH ESP8266 הערה: השתמש בסיכות 3, 4, 5, 12, 13 או 14 - // סיכה 15 יכולה לעבוד אך יש לנתק את DHT במהלך העלאת התוכנית.
// לא להגיב על סוג החיישן בשימוש:
//#הגדר DHTTYPE DHT11 // DHT 11#הגדר DHTTYPE DHT22 // DHT 22 (AM2302) //#הגדר DHTTYPE DHT21 // DHT 21 (AM2301)
// עיין במדריך לפרטים על חיווט חיישן ושימוש:
//
DHT_Unified dht (DHTPIN, DHTTYPE);
uint32_t delayMS;
הגדרת בטל () {
Serial.begin (9600); // אתחל את המכשיר. dht.begin (); Serial.println (F ("דוגמת חיישן מאוחד של DHTxx")); // הדפס פרטי חיישן טמפרטורה. חיישן sensor_t; dht.temperature (). getSensor (& חיישן); Serial.println (F ("------------------------------------")); Serial.println (F ("חיישן טמפרטורה")); Serial.print (F ("סוג חיישן:")); Serial.println (sensor.name); Serial.print (F ("Driver Driver:")); Serial.println (sensor.version); Serial.print (F ("מזהה ייחודי:")); Serial.println (sensor.sensor_id); Serial.print (F ("ערך מקסימלי:")); Serial.print (sensor.max_value); Serial.println (F ("° C")); Serial.print (F ("ערך מינימלי:")); Serial.print (sensor.min_value); Serial.println (F ("° C")); Serial.print (F ("רזולוציה:")); Serial.print (sensor.resolution); Serial.println (F ("° C")); Serial.println (F ("------------------------------------")); // הדפס פרטי חיישן לחות. dht.humidity (). getSensor (& חיישן); Serial.println (F ("חיישן לחות")); Serial.print (F ("סוג חיישן:")); Serial.println (sensor.name); Serial.print (F ("Driver Driver:")); Serial.println (sensor.version); Serial.print (F ("מזהה ייחודי:")); Serial.println (sensor.sensor_id); Serial.print (F ("ערך מקסימלי:")); Serial.print (sensor.max_value); Serial.println (F ("%")); Serial.print (F ("ערך מינימלי:")); Serial.print (sensor.min_value); Serial.println (F ("%")); Serial.print (F ("רזולוציה:")); Serial.print (sensor.resolution); Serial.println (F ("%")); Serial.println (F ("------------------------------------")); // הגדר עיכוב בין קריאות חיישן על סמך פרטי החיישן. delayMS = sensor.min_delay / 1000; }
לולאת חלל () {
// עיכוב בין המדידות. עיכוב (עיכוב MS); // קבל אירוע טמפרטורה והדפס את ערכו. אירוע sensors_event_t; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println (F ("שגיאה בקריאת טמפרטורה!")); } else {Serial.print (F ("טמפרטורה:")); Serial.print (אירוע.טמפרטורה); Serial.println (F ("° C")); } // קבל אירוע לחות והדפס את ערכו. dht.humidity (). getEvent (& event); if (isnan (event.relative_humidity)) {Serial.println (F ("שגיאה בקריאת לחות!")); } else {Serial.print (F ("לחות:")); Serial.print (event.relative_humidity); Serial.println (F ("%")); }}
או הורד את הקובץ מתחת לסקיצה שסיפקתי למטה.
לאחר מכן לחץ על העלה והמתן עד לסיומו.
שלב 5: תוצאה
כדי לראות את תוצאות מדידות הטמפרטורה והלחות, לחץ על צג סידורי. התוצאות יוצגו שם.
אם יצליחו התוצאות ייראו כמו איור 1
אם החיישן אינו מותקן הוא יראה כמו תמונה 2
תודה שקראתם, אם יש שאלות פשוט כתבו זאת בעמודת ההערות