Search Code

آرڈوینو کوڈ اور ویڈیو DHT11 درجہ حرارت اور نمی سینسر کے لیے

آرڈوینو کوڈ اور ویڈیو DHT11 درجہ حرارت اور نمی سینسر کے لیے

اس ٹیوٹوریل میں، ہم دریافت کریں گے کہ Arduino کے ساتھ DHT11 درجہ حرارت اور نمی سینسر کیسے استعمال کریں۔ یہ سینسر درجہ حرارت اور نمی دونوں کی پیمائش کے لیے ایک کم لاگت آپشن ہے، جو اسے مختلف پروجیکٹس کے لیے ایک بہترین انتخاب بناتا ہے۔ ہم وائرنگ، ضروری کوڈ، اور یہ کہ اجزاء درست ریڈنگ فراہم کرنے کے لیے کیسے تعامل کرتے ہیں، کا احاطہ کریں گے۔

DHT11 Module

اس ٹیوٹوریل کے اختتام تک، آپ DHT11 سینسر سے درجہ حرارت سیلسیس، فارن ہائیٹ، اور کیلون میں، نیز نمی کی سطحیں پڑھنے کے قابل ہو جائیں گے۔ اضافی وضاحت کے لیے، اشارہ کردہ ٹائم اسٹیمپس پر ویڈیو ضرور دیکھیں (ویڈیو میں 00:00 پر)۔

ہارڈویئر کی وضاحت

DHT11 سینسر تین پنوں پر مشتمل ہے: گراؤنڈ، پاور، اور ڈیٹا۔ گراؤنڈ پن Arduino کے گراؤنڈ سے جڑتا ہے، جبکہ پاور پن Arduino سے 5V سپلائی سے جڑتا ہے۔ ڈیٹا پن Arduino اور سینسر کے درمیان مواصلات کے لیے ذمہ دار ہے، جس سے Arduino درجہ حرارت اور نمی کی اقدار پڑھ سکتا ہے۔

یہ سینسر ڈیجیٹل آؤٹ پٹ استعمال کرتا ہے، جس کا مطلب ہے کہ یہ Arduino کو سیریل فارمیٹ میں ڈیٹا بھیجتا ہے۔ اس میں درجہ حرارت کی پیمائش کے لیے تھرمسٹر اور کیپسیٹیو نمی سینسر شامل ہے۔ DHT11 اپنے موصول ہونے والے اینالاگ سگنلز کو ڈیجیٹل سگنلز میں تبدیل کرتا ہے، جس سے Arduino جیسے مائیکروکنٹرولرز کے لیے ڈیٹا پر کارروائی کرنا آسان ہو جاتا ہے۔

ڈیٹاشیٹ کی تفصیلات

مینوفیکچررASAIR
پارٹ نمبرDHT11
لاجک/آئی او وولٹیج3.3–5.5 V
سپلائی وولٹیج3.3–5.5 V
آؤٹ پٹ کرنٹ (فی چینل)0.5 mA
پیک کرنٹ (فی چینل)2.5 mA
PWM فریکوئنسی رہنمائیN/A
ان پٹ لاجک تھریشولڈز0.3*VDD سے 0.7*VDD
وولٹیج ڈراپ / RDS(on) / سیچوریشنN/A
تھرمل حدود0 سے 60 °C
پیکیج4-پن DIP
نوٹس / ویریئنٹسکم لاگت، استعمال میں آسان

  • آپریٹنگ وولٹیج 3.3V سے 5.5V کے درمیان۔
  • زیادہ سے زیادہ آؤٹ پٹ کرنٹ 2.5 mA۔
  • درجہ حرارت کی حد 0 سے 60 ڈگری سیلسیس۔
  • نمی کی حد 20% سے 90%۔
  • مستحکم ریڈنگ کے لیے ڈیٹا پن پر پل-اپ ریزسٹر استعمال کریں۔
  • فلوٹنگ ان پٹ سے بچنے کے لیے مناسب کنکشن یقینی بنائیں۔
  • پاور جوڑتے وقت ریورسڈ پولیرٹی سے محتاط رہیں۔
  • درست نتائج کے لیے ریڈنگ میں کم از کم 1 سیکنڈ کی تاخیر کریں۔

وائرنگ ہدایات

Arduino wiring for DHT11 Temperature and humidity sensor
Arduino wiring for DHT11 Temperature and humidity sensor

DHT11 سینسر کو اپنے Arduino سے وائر کرنے کے لیے، ان مراحل پر عمل کریں:

پہلے، DHT11 کا گراؤنڈ پن (عام طور پر سیاہ یا بھورا) Arduino پر گراؤنڈ (GND) سے جوڑیں۔ اگلا، DHT11 کا پاور پن (عام طور پر سرخ) Arduino پر 5V آؤٹ پٹ سے جوڑیں۔ آخر میں، ڈیٹا پن (عام طور پر پیلا یا سفید) Arduino پر ڈیجیٹل پن 2 سے جوڑیں۔ مستحکم مواصلات کو یقینی بنانے کے لیے ڈیٹا پن اور پاور پن کے درمیان پل-اپ ریزسٹر (تقریباً 10k اوہم) استعمال کرنا یقینی بنائیں۔

کوڈ مثالیں اور واک تھرو

Arduino کوڈ میں، ہم DHT11 سینسر کے لیے ضروری ہیڈر فائل شامل کرکے شروع کرتے ہیں:

#include 

یہ لائن لائبریری کو درآمد کرتی ہے جس میں DHT11 سینسر کے ساتھ تعامل کے لیے درکار فنکشنز شامل ہیں۔ اگلا، ہم DHT11 کلاس کا ایک انسٹینس بناتے ہیں:

dht11 DHT11; // DHT11 کا آبجیکٹ بنائیں

یہ لائن DHT11 آبجیکٹ کو انیشیالائز کرتی ہے جسے ہم سینسر سے ڈیٹا پڑھنے کے لیے استعمال کریں گے۔ DHT11 سے منسلک پن کو اس طرح بیان کیا گیا ہے:

#define dhtpin 2 // DHT11 سے منسلک کرنے کے لیے پن سیٹ کریں

یہ سینسر کے لیے ڈیٹا پن کو Arduino پر پن 2 پر سیٹ کرتا ہے۔ loop() فنکشن میں، ہم سینسر ڈیٹا پڑھتے ہیں:

DHT11.read(dhtpin);// ریڈنگ شروع کریں

یہ لائن ریڈنگ کا عمل شروع کرتی ہے، اور نمی تک اس طرح رسائی حاصل کی جا سکتی ہے:

int humidity = DHT11.humidity;// نمی حاصل کریں

نمی کی قدر متغیر humidity میں محفوظ ہوتی ہے، جو پھر سیریل مانیٹر پر سیلسیس، فارن ہائیٹ، اور کیلون میں تبدیل شدہ درجہ حرارت کی اقدار کے ساتھ پرنٹ کی جاتی ہے۔

ڈیمونسٹریشن / کیا توقع کریں

جب آپ کوڈ چلاتے ہیں، تو آپ کو سیریل مانیٹر میں درجہ حرارت اور نمی کی ریڈنگز ظاہر ہوتی نظر آئیں گی۔ درجہ حرارت کی ریڈنگز ہر آدھے سیکنڈ میں اپڈیٹ ہوں گی (ویڈیو میں 00:00 پر)۔ اگر سینسر کو گرم یا ٹھنڈا کیا جائے، تو آپ دیکھیں گے کہ اقدار اس کے مطابق تبدیل ہوتی ہیں۔ محتاط رہیں، کیونکہ DHT11 کی زیادہ سے زیادہ درجہ حرارت کی حد 60 ڈگری سیلسیس ہے؛ اس سے تجاوز کرنے سے غلط ریڈنگز ہو سکتی ہیں۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 - DHT11 سینسر کا تعارف
  • 01:30 - وائرنگ ہدایات
  • 02:15 - کوڈ کا جائزہ
  • 03:00 - کوڈ چلانا اور متوقع آؤٹ پٹ

تصاویر

Arduino wiring for DHT11 Temperature and humidity sensor
Arduino wiring for DHT11 Temperature and humidity sensor
DHT11 Module
DHT11 Module
DHT11 Module
DHT11 Module
53-This is the Arduino code and video for a DHT11 temperature and humidity sensor.
زبان: C++
/*
 * This is the Arduino code for the DHT11 module to read temperature and humidity.
 * This code can display temperature in:
 * C is used to get Celsius.
 * F is used to get Fahrenheit.
 * K is used for Kelvin.
 * Watch the video https://youtu.be/FjZBt6eU9b4
 * 
 * Written by Ahmad Nejrabi for Robojax Video
 * Date: January 4, 2018, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * 
 */

// header file from GitHub: https://github.com/adidax/dht11
#include <dht11.h>

dht11 DHT11; // create object of DHT11
#define dhtpin 2 // set the pin to connect to DHT11

void setup() {
    Serial.begin(9600);// setting up serial monitor

}

void loop() {
  DHT11.read(dhtpin);// initialize the reading
  //code for Robojax.com video
  int humidity = DHT11.humidity;// get humidity

   Serial.print(getTemp('C'));
   Serial.print("C ");
   Serial.print(getTemp('F'));
   Serial.print("F ");
   Serial.print(getTemp('K'));
   Serial.print("K ");
   Serial.print(" humidity:");
   Serial.print (humidity);
   Serial.println("% ");
   Serial.println();
 delay(500);
}


/*
 * getTemp(char type)
 * type character of upper case.
 * C is used to get Celsius.
 * F is used to get Fahrenheit.
 * K is used for Kelvin.
 */
float getTemp(char type) {
    float temp = (float)DHT11.temperature;//get temp
  if(type =='F')
  {
    return temp * 1.8 + 32;// convert to Fahrenheit
  }else if(type =='K')
  {
    return temp + 274.15;// convert to Kelvin
  }else{
   return temp; 
  }
  
}

وسائل اور حوالہ جات

فائلیں📁

آرڈوینو لائبریریاں (زپ)

فریٹزنگ فائل

صارف کا دستی کتاب

دیگر فائلیں