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

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

مشروع قياس درجة الحرارة باستخدام الحساس 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);
}

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

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

6 Comments

  1. كل العاملين في هذا الموقع اغبياء هذه الأوامر الصحيح

    #include
    #include

    #include “DHT.h”
    #define DHTPIN 4 //digital pin sensor

    // Uncomment whatever type you’re using!

    //#define DHTTYPE DHT11 // DHT 11
    #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
    //#define DHTTYPE DHT21

    LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows

    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    lcd.init(); // initialize the lcd
    lcd.backlight();

    lcd.begin(16, 2);

    dht.begin();

    }

    void loop() {

    delay(1000);
    float h = dht.readHumidity();
    // Read temperature as Celsius (the default)
    float t = dht.readTemperature();
    // Read temperature as Fahrenheit (isFahrenheit = true)
    float f = dht.readTemperature(true);

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t) || isnan(f))
    {
    lcd.print(“NO CONNECTION”);
    return;
    }
    lcd.setCursor(0, 0);
    lcd.print(“Aladabi Technical Weather “);

    lcd.setCursor(0, 1);
    lcd.print(h);
    lcd.print(” % “);
    lcd.setCursor(9, 1);
    lcd.print(t);
    lcd.print(” C”);

    }

    1. حمل مكتبة
      LiquidCrystal_I2C
      Adafruit_Sensor-master
      DHT-sensor-library-master

  2. لو سمحت فين ممكن الاقي مجسم جاهز احط فيه كل هذه ال components

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

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

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

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

      ielectrony Support Team

اترك تعليقاً

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