رباتیک و هوافضا

اندازه گیری رطوبت و دما با آردوینو و سنسور DHT11

به نام خدا

اندازه گیری رطوبت و دما با استفاده از آردوینو و سنسور DHT11

دما و رطوبت ، دو پارامتر مهم در اندازه گیری شرایط محیطی هستند . در این پروژه می خواهیم دما ورطوبت را توسط سنسور DHT11 و با استفاده از برد آردوینو اندازه گیری کرده و بر روی LCD نمایش دهیم .

Arduino-Humidity-Measurement

پروتکل ارتباطی این سنسور با پردازنده و یا برد آردوینو ما ، پروتکل تک سیمه می باشد . برد آدوینو استفاده شده در این پروژه ، آردوینو UNO است .

block Digram

سنسور DHT11 یک سنسور دیجیتال کالیبره شده با دقت بالا است که سنسور رطوبت آن از نوع مقاومتی و سنسور دمای آن مانند یک NTC عمل می کند . این سنسور دارای ۴ پایه می باشد که یک پایه آن Vcc پایه دیگر آن GND ، پایه سوم پایه دیتا و پایه سوم NC (به جایی وصل نمی شود ) است .

DHT11-Sensor

این سنسور داده ها را توسط ارتباط تک سیمه از طریق قطار پالس ارسال می کند .

بیشتر بخوانید...  محاسبه ی ضربان قلب با آردوینو

طول دیتا شامل ۴۰ بیت یعنی ۵ بایت می باشد . که دو بایت اول مربوط به اطلاعات رطوبت ، دو بایت بعدی مربوط به اطلاعات دما و بایت آخر برای check sum به منظور آگاهی از صحت اطلاعات ارسال شده است .

نحوه کار با سنسور :

اول از همه آردوینو یک سیگنال پایین رونده ( یک منطقی به صفر منطقی ) با تاخیر ۱۸ میکرو ثانیه به سنسور DHT11 ارسال می کند . سپش آردوینو خط داده را برای مدت ۲۰ تا ۴۰ میکرو ثانیه pull-up می کند و منتظر پاسخ سنسور می ماند . وقتی سنسور سیگنال شروع را تشخیص دهد ، شروع به ارسال ولتاژ low ( صفر منطقی ) برای مدت ۸۰ میکرو ثانیه به آردوینو می کند . و سپس سنسور خط داده را به مدت ۸۰ میکرو ثانیه pull-up می کند .

موقعی که خط داده در سطح ولتاژ low قرار دارد به این معنی است که DHT11 سیگنال پاسخ می فرستد . یک بار دیگر سنسور خط داده را به منظور اماده سازی برای ارسال داده ها ، pull-up می کند .

بیشتر بخوانید...  ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231

فرمت داده هایی که توسط DHT11 به آردوینو ارسال می شود برای هر بیت با سطح ولتاژ low برای مدت ۵۰ میکرو ثانیه شروع می شود و طول سطح ولتاژ high اندازه گیری می شود خواه آن بیت صفر باشد خواه یک .

برای استفاده از سنسور DHT11 خط داده باید با یک مقاومت حدود ۵ کیلو اهم pull-up شود . همان طور که در تصویر اول می بینید ، ما به جای استفاده از این سنسور از مازول آماده آن استفاده کرده ایم که مقاومت pull-up بر روی برد این ماژول قرار دارد .

commin

شماتیک مدار :

Arduino-Humidity-Circuit

کتابخانه مورد استفاده در برنامه :

 

دانلود فایل

 

برای دانلود کد های برنامه بر روی لینک زیر کلیک کنید .

 

دانلود فایل

 

برای دیدن فیلم این پروژه در لینک زیر کلیک کنید .

 

دانلود فیلم

 

 

دیدگاه‌ها (4)

پاسخ دادن به abolfazl لغو پاسخ

*
*

    غلامی مهمان مرداد 30, 1395 پاسخ

    با سلام و خسته نباشید
    ممنون از قرار دادن این آموزش
    بطفا در صورت امکان کتابخانه های استفاده شده در این آموزش رو هم برای پروتئوس 8 جهت دانلود قرار دهید
    با تشکر غلامی

      Admin مدیر کل دی 5, 1396 پاسخ

      سلام ، ممنون
      در اسرع وقت میذاریم
      موفق باشید

    abolfazl مهمان آبان 8, 1395 پاسخ

    سلام.اگر 4 تا از این سنسورا رو بخوام باهم بخونم باید چکار کنم؟

      Admin مدیر کل دی 5, 1396 پاسخ

      سلام .
      به همون طریق که توی برنامه پین تعریف کرده تو هم تعریف کن و برای هر کدوم از همون تابع DHT.read به صورت مجزا استفاده کن