מעקב אחר תנאים סביבתיים כמו טמפרטורה ולחות חיוני ליישומים שונים, מאוטומציה ביתית ועד ניהול חממה. עם פלטפורמת Arduino המגוונת והחיישנים כמו DHT11 או DHT22, יצירת צג טמפרטורה ולחות אמין היא גם משתלמת וגם פשוטה. במדריך זה, אנו נעביר אתכם דרך הרכיבים הדרושים, תהליך ההתקנה והקידוד הנדרש בכדי להחיות את הצג שלכם לחיים.
רכיבים שתצטרך
- Arduino uno
- חיישן DHT11 או DHT22
- נגן 10K אוהם
- חוטי לחם וגשר
- תצוגת LCD (אופציונלית)
- כבל USB
הבנת חיישני DHT11/DHT22
ה- DHT11 ו- DHT22 הם חיישנים פופולריים למדידת טמפרטורה ולחות. ה- DHT11 הוא חסכוני ומתאים ליישומים בסיסיים, ומציע טווח טמפרטורה של 0-50 מעלות צלזיוס עם דיוק ± 2 מעלות צלזיוס וטווח הלחות של 20-80% ברמת דיוק של ± 5%. לעומת זאת, ה- DHT22 מספק טווח טמפרטורות רחב יותר של -40 עד 80 מעלות צלזיוס עם דיוק ± 0.5 מעלות צלזיוס וטווח הלחות של 0-100% עם דיוק של ± 2-5%, מה שהופך אותו לאידיאלי לפרויקטים תובעניים יותר.
Wiring the Sensor to Arduino
Follow these steps to connect your DHT sensor to the Arduino:
- חיבורי חשמל: Connect the VCC pin of the DHT sensor to the 5V pin on the Arduino and the GND pin to the ground (GND).
- סיכת נתונים: חבר את סיכת הנתונים של חיישן ה- DHT לסיכת קלט דיגיטלית בארדואינו (בדרך כלל סיכה 2).
- נגד משיכה: מקם נגן של 10 ק"ג אוהם בין ה- VCC ל- PIN נתונים כדי להבטיח העברת נתונים יציבה.
- תצוגת LCD (אופציונלית): אם משתמשים ב- LCD, חבר אותו לסיכות Arduino המתאימות להצגת הקריאות.
תכנת הארדואינו
לקריאת נתונים מחיישן DHT, אנו נשתמש ב- DHT.h
הספרייה, שמפשטת את התהליך. להלן קטע קוד לדוגמא כדי להתחיל:
// Include the DHT library
#include <DHT.h>
// Define the sensor type and the pin it's connected to
#define DHTPIN 2
#define DHTTYPE DHT22 // Change to DHT11 if you're using that model
// Initialize the DHT sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Start serial communication
Serial.begin(9600);
// Initialize the DHT sensor
dht.begin();
}
void loop() {
// Wait a few seconds between measurements
delay(2000);
// Read humidity and temperature
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check if any reads failed
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the results to the Serial Monitor
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");
}
Explanation of the Code:
- THE
DHT.h
הספרייה כלולה כדי להקל על התקשורת עם החיישן. - אנו מגדירים את סיכת הנתונים וסוג החיישן באמצעות
#define
. - ב
setup()
פונקציה, אנו מאתחל את התקשורת הסדרתית ואת חיישן DHT. - THE
loop()
הפונקציה קוראת את הלחות והטמפרטורה כל שתי שניות ומדפיסה אותם לצג הסידורי.
הצגת הנתונים
לקבלת הגדרה ידידותית יותר למשתמש, תוכלו להציג את הקריאות ב- LCD. שנה את הקוד כדי לשלוח נתונים ל- LCD במקום לצג הסידורי. ודא שתתקין את ספריית LCD המתאימה ומגדיר את התצורה של הסיכות בהתאם.
קוד לדוגמא לתצוגת LCD:
// Include necessary libraries
#include <DHT.h>
#include <LiquidCrystal.h>
// Define sensor and LCD pins
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Initialize the LCD (adjust pin numbers as needed)
LiquidCrystal lcd(12, 11, 5, 4, 3, 6);
void setup() {
// Start serial communication
Serial.begin(9600);
dht.begin();
// Initialize the LCD
lcd.begin(16, 2);
lcd.print("Temp & Humidity");
}
void loop() {
delay(2000);
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature)) {
lcd.clear();
lcd.print("Sensor Error");
return;
}
// Display on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print(" %");
}
בודק את ההתקנה שלך
לאחר העלאת הקוד ל- Arduino שלך, פתח את המסך הסידורי (אם באמצעות פלט סידורי) או ציין את תצוגת ה- LCD. אתה אמור לראות קריאות טמפרטורה ולחות בזמן אמת. ודא שהחיבורים שלך מאובטחים, והחיישן פועל כראוי. אם אתה נתקל בבעיות, בדוק שוב את החיווט וודא שסוג החיישן הנכון מוגדר בקוד שלך.
שיפורים ושלבים הבאים
כעת, לאחר שיש לך צג טמפרטורה ולחות בסיסי, שקול את השיפורים הבאים:
- רישום נתונים: חבר את Arduino שלך למודול כרטיס SD כדי לרשום נתונים לאורך זמן לניתוח.
- ניטור אלחוטי: השתמש במודולים כמו ESP8266 או Bluetooth כדי לשלוח נתונים לסמארטפון או לשירותי הענן שלך.
- התראות: יישום התראות מבוססות סף באמצעות נוריות LED או זמזם כדי להודיע לך על תנאים קיצוניים.
- חיישנים מרובים: הרחב את ההגדרה שלך כך שתכלול חיישנים נוספים לפרמטרים כמו איכות אוויר או עוצמת אור.
מַסְקָנָה
בניית צג טמפרטורה ולחות עם DHT11/DHT22 וארדואינו הוא פרויקט מצוין למתחילים ולחובבים כאחד. זה מספק ניסיון מעשי עם שילוב חיישנים, עיבוד נתונים וטכניקות תצוגה. בין אם לשימוש אישי ובין אם כבסיס למערכות מורכבות יותר, פרויקט זה מציג את הכוח והגמישות של המערכת האקולוגית של ארדואינו. בניין שמח!