مشروع قياس درجة الحرارة باستخدام الحساس DHT22 مع الاردوينو 3

تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

مشروع قياس درجة الحرارة باستخدام الحساس DHT22 مع الاردوينو

فكرة مشروع قياس درجة الحرارة

  • واحدة من تطبيقات الحياة اليومية والتي لا بد من معرفتها هي درجة الحرارة التي يتأثر بها الانسان بصورة مباشرة , لذلك لا بد من التكيف معها ولذلك كان هناك مستشعرات أو حساسات درجة الحرة التي تخبر الانسان بها , ومنها تستطيع الالات تعديل الجوي المحيط بما يتماشي مع راحة الانسان .
  • في مشروع اليوم يتم أستخدام حساس الحرارة DHT22 مع الاردوينو والذي بدوره يقيس درجة حرارة الغرفة وما سواها ويتم عرض النتيجة علي شاشة الكرستال السائل من النوع 16 عمود وصفين مع مسجل أزاحة لتوفير أطراف الاردوينو للاستخدام لاحقا .

منتجات المشاريع

Untitled2
  1. لوحة أردوينو مع كابل يوأس بي
  2. عدد 10 أسلاك ذكر أنثي
  3. لوح تجارب صغيرة
  4. مذود طاقة 5 فولت
  5. موديول حساس الحرارة DHT22
  6. شاشة عرض كرستالية من النوع 16×2 مع برتيكول 12c

مخطط توصيل مشروع قياس درجة الحرارة

يتم توصيل جميع مكونات مشروع قياس درجة الحرارة DHT22 وفقا للمخطط أدناه  :

screen_shot_2017-02-26_at_20_gRLBIF7dqy
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

الكود البرمجي لمشروع قياس درجة الحرارة

سوف تمنحك الاكواد التالية فهماً تامًا لكيفية قياس درجة الحرارة وشاشة كرستال من النوع 16×2 ويمكن أن تكون بمثابة أساس لمزيد من التجارب والمشاريع العملية .

لتحميل الكود البرمجي اضغط هنا
#include <Wire.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

#include <dht.h>
#define DHT11_PIN 4

dht DHT;
bool showcelciusorfarenheit = false;

void setup() 
{
  lcd.init();                    
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Arduino Temper");delay(2000);
  lcd.setCursor(0, 1);
  lcd.print("by ielectrony");
  delay(2000);
  lcd.clear();
  lcd.print("DHT11 Test ^_^");
  lcd.setCursor(0, 1);delay(5000);
  }

void loop() 
{
  lcd.setCursor(0, 1);
  int readData = DHT.read22(DHT11_PIN);
  float t = DHT.temperature;
  float h = DHT.humidity;
  lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed
  lcd.print("Temp.: "); // Prints string "Temp." on the LCD

  //Print temperature value in Celcius and Fahrenheit every alternate cycle
  if(showcelciusorfarenheit)
  {
    lcd.print(t); // Prints the temperature value from the sensor
    lcd.print(" ");
    lcd.print((char)223);//shows degrees character
    lcd.print("C");
    showcelciusorfarenheit = false;
  }
  else
  {
    lcd.print((t * 9.0) / 5.0 + 32.0); // print the temperature in Fahrenheit
    lcd.print(" ");
    lcd.print((char)223);//shows degrees character
    lcd.print("F");
    showcelciusorfarenheit = true;
  }
  
  lcd.setCursor(0,1);
  lcd.print("Humi.: ");
  lcd.print(h);
  lcd.print(" %");

  delay(2000);
}

لقد وصلت النهاية  (^_^)

نتمني أن تكون قد أستفدت (^_^)

3 Comments

  1. يطلع لي هذا الخطا :
    ‘dht’ does not name a type

    عبدالله
  2. لو سحمت الكود مش شغال معايا كل ما اعمل اختبار للكود يكون في اخطاء كتير

    احمد ابراهيم
    1. اهلا بك أحمد ،،

      تأكد من تثبيت المكتبات الضرورية لكي يعمل الكود بشكل صحيح

      ielectrony Support Team

اترك تعليقاً



لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *