بناء شاشة درجة الحرارة والرطوبة مع DHT11/DHT22 و Arduino

تعد مراقبة الظروف البيئية مثل درجة الحرارة والرطوبة ضرورية لمختلف التطبيقات ، من أتمتة المنزل إلى إدارة الدفيئة. مع منصة 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 ٪ ، مما يجعلها مثالية لمشاريع أكثر تطلبًا.

توصيل المستشعر إلى أردوينو

اتبع هذه الخطوات لتوصيل مستشعر DHT الخاص بك بـ Arduino:

  1. اتصالات الطاقة: قم بتوصيل دبوس VCC الخاص بمستشعر DHT إلى دبوس 5V على Arduino و PIN GND على الأرض (GND).
  2. دبوس البيانات: قم بتوصيل دبوس البيانات الخاص بمستشعر DHT بدبوس إدخال رقمي على Arduino (عادةً PIN 2).
  3. المقاوم السحب: ضع مقاومًا 10K أوم بين VCC و DATA PIN لضمان نقل البيانات المستقر.
  4. شاشة LCD (اختياري): في حالة استخدام LCD ، قم بتوصيله بدبابيس Arduino المناسبة لعرض القراءات.

برمجة 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");
}

شرح الكود:

  • ال DHT.h يتم تضمين المكتبة لتسهيل التواصل مع المستشعر.
  • نحدد دبوس البيانات ونوع المستشعر باستخدام #define.
  • في setup() الوظيفة ، نهيئة الاتصال التسلسلي ومستشعر DHT.
  • ال 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 و Arduino مشروعًا ممتازًا للمبتدئين والمتحمسين على حد سواء. يوفر خبرة عملية مع تكامل المستشعر ومعالجة البيانات وتقنيات العرض. سواء للاستخدام الشخصي أو كأساس للأنظمة الأكثر تعقيدًا ، يعرض هذا المشروع قوة ومرونة النظام الإيكولوجي Arduino. بناء سعيد!

اترك تعليقًا

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.