آردوینو آردوینو Arduino Uno پروژه های آردوینو پکیج سنسور آردوینو

DHT11 سنسور دما رطوبت از پکیج سنسور کیت آردوینو Arduino Sensor

نوشته شده توسط علیرضا قربانی

در ادامه‌ی آموزش‌های سنسورکیتآردوینو در این بخش قصد داریم طریقه‌ی راه‌اندازی سنسور دما و رطوبت DHT11 را از پکیج سنسورکیت آردوینو آموزش دهیم. سنسور‌های سری DHT  یکی از ارزان ترین سنسورهای رطوبت و دما موجود در بازار می‌باشند. این سنسور‌ها بسیار مبتدی و کند می‌باشند از این رو برای استفاده در پروژه‌های صنعتی به هیچ عنوان توصیه نمی‌شود ولی برای کسانی که علاقمند به ثبت دما و محیط خود هستند مناسب است. این گونه سنسور‌ها  از دو قسمت ترمیستور ، برای اندازه‌گیری دما و سنسور رطوبت خازنی ، جهت اندازه‌‌گیری رطوبت تشکیل شده‌اند. درون این سنسور‌ها یک تراشه بسیار ساده جهت تبدیل مقادیر آنالوک بدست آمده از سنسور به مقدیر دیجیتال استفاده شده است  از این رو خروجی این سنسور دیجیتال می‌باشد  و نسبتا خواندن این سیگنال کار ساده‌ای می‌باشد.در ادامه آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

 

سخت‌افزار مورد نیاز

برد آردوینو UNO

ماژول DHT11 از پکیج سنسور کیت آردوینو

 

 

ویژگی‌های ماژول دما رطوبت DHT11

  • بسیار مقرون به صرفه
  • ولتاژ کاری ۳ الی ۵ ولت
  • ماکسیمم ۲٫۵ میلی‌آمپر در حالت ارسال داده
  • دقت ۵ درصد در اندازه‌گیری رطوبت بین ۲۰ الی ۸۰ درصد
  • دقت ۰٫۵ سانتی گراد در دمای ۰ الی ۵ درجه سانتی گراد
  • نرخ نمونه برداری ۱ ثانیه

 

اتصال ماژول دما رطوبت DHT11 آردوینو

همانطور که قبلا گفته شد  خروجی این ماژول دیجیتال بوده ، پس فقط کافیست آن را به یکی از پین‌های دیحیتال آردوینو خود متصل کنید که ما در این پروژه آن را به پین شماره ۲ دیجیتال متصل کردیم. سایر اتصالات طبق تصویر زیر می‌باشد.

DHT11 arduino sensorkit

 

کد آردوینو سنسور دما رطوبت DHT11

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.

 

پروژه:

برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۵ دیدگاه

  • من فقط سنسورشو دارم،ماژول نیست، این کدی که نوشتید ارور میده
    ‘class DHT’ has no member named ‘ComputeHeatIndex’

  • سلام عرض ادب ، با عرض تشکر فراااااااوان از سایت عالی شما ، مهندسین این ماژول ، راه اندازی برای برد آردینو لئوناردو نیز همینگونه است؟ یا تفاوت دارد؟
    اگر ممکنه برای راه اندازی با برد آردینو لئوناردو نیز یک توضیح بگید

    • با سلام
      ضمن تشکر از توجه و دقت نظر شما، در خصوص راه اندازی با دیگر بردهای آردوینو، به صورت پیشفرض باید نوع برد را تغییر دهید، همچنین به صورت موردی در کدها هم باید تغییراتی ایجاد شود، از جمله اینکه آدرس‌ دهی پین‌ها تغییر کند. موارد را تست کنید و در هر مرحله که با مشکل مواجه شدید از همین طریق اعلام کنید.

      • تشکر مهندس ، قربان فقط طریقه نصب سخت افزاری این سنسور با ماژول لئوناردو هم همینگونه است ؟ طریقه نصب پین ها رو منظورمه که نصب این سنسور با ماژول های دیگر هم فرقی می کند؟

  • سلام..متاسفانه تمامی اتصالات چک و کد ها در برنامه paste شد این ارور مشاهده میشه ممنون میشم کمک کنین ..هرکاری کردم درست نشد
    Arduino: 1.8.0 (Windows 8.1), Board: “Arduino/Genuino Uno”
    tal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    Multiple libraries were found for “DHT.h”
    در مورد کتابخانه adafruit هم تمامی کتابخانه ها دانلود شده..حتی زیپ فایل هم نصب شده
    ممنون

  • با سلام
    من این پروژه رو انجام دادم.ولی توی کنسول ،خروجی رو درست نشون نمیده.
    j⸮⸮⸮<⸮DHTxx test!
    Z⸮*⸮⸮^⸮⸮DHTxx test!
    ⸮⸮^⸮⸮۹⸮⸮⸮DHTxx test!
    ⸮⸮')⸮⸮⸮⸮DHTxx test!

    هم توی برنامه و هم توی کنسول باد ریت ۹۶۰۰ هست

  • با سلام و خسته نباشید ممنون میشم در این مورد راهنماییم کنید
    من میخوام اطلاعات دماو رطوبت را هر چندثانیه اندازه گیری کنم و روی رم اس دی ذخیره کنم برنامشو نوشتم اما کار نمیکنه ممنون میشم راهنماییم کنید
    #include
    #include
    #include “DHT.h”

    #define DHTPIN 8
    #define DHTTYPE DHT22

    long seconds=00;
    long minutes=00;
    long hours=00;

    int CS_pin = 10;

    DHT dht(DHTPIN, DHTTYPE);
    File sd_file;

    void setup() {
    Serial.begin(9600);
    pinMode(CS_pin, OUTPUT);
    dht.begin();
    // SD Card Initialization
    if (SD.begin()) {
    Serial.println(“SD card is initialized. Ready to go”);
    }
    else {
    Serial.println(“Failed”);
    return;
    }

    sd_file = SD.open(“data.txt”, FILE_WRITE);

    if (sd_file) {
    Serial.print(“Time”);
    Serial.print(“,”);
    Serial.print(“Humidity”);
    Serial.print(“,”);
    Serial.print(“Temperature_C”);
    Serial.print(“,”);
    Serial.print(“Temperature_F”);
    Serial.print(“,”);
    Serial.println(“Heat_index”);

    sd_file.print(“Time”);
    sd_file.print(“,”);
    sd_file.print(“Humidity”);
    sd_file.print(“,”);
    sd_file.print(“Temperature_C”);
    sd_file.print(“,”);
    sd_file.print(“Temperature_F”);
    sd_file.print(“,”);
    sd_file.println(“Heat_index”);
    }
    sd_file.close(); //closing the file
    }

    void loop() {
    sd_file = SD.open(“data.txt”, FILE_WRITE);
    if (sd_file) {
    senddata();
    }
    // if the file didn’t open, print an error:
    else {
    Serial.println(“error opening file”);
    }
    delay(1000);
    }

    void senddata() {
    for(long seconds = 00; seconds =58) {
    minutes= minutes + 1;
    }

    if (minutes>59) {
    hours = hours + 1;
    minutes = 0;
    }

    sd_file.flush(); //saving the file

    delay(2000);
    }
    sd_file.close(); //closing the file
    }

  • سلام مهندس من میخواسم با LCD دما و رطوبت رو نمایش بدم و به یه رله کنترل کنم وقتی دما یا رطوبت به حدی رسید وبه همراه یه بیزر و پوش باتون برا تعین حد بالا و پایین برنامش و کدش تو آردوئینو رو از کجا بگیرم ؟ممنون میشم راهنمایی کنید