اندازه گیری رطوبت و دما با رزبری پای و سنسور DHT11/DHT22

اندازه گیری رطوبت و دما با رزبری پای و سنسور DHT11/DHT22

اندازه گیری دما و رطوبت با استفاده از سنسور ارزان قیمت DHT11 یا DHT22 و رزبری پای یکی از اولین نیاز های اتوماسیون یا هوشمند سازی است. در این نوشته قصد داریم روش اندازه گیری دما و رطوبت به کمک این سنسورها و رزبری پای را آموزش دهیم.

وسایل مورد نیاز:

برای انجام این پروژه به تجهیزات زیر نیاز داریم:

  1. یک عدد سنسور DHT11 یا سنسور DHT22
  2. مقاومت ۱۰ کیلو اهم
  3. یک عدد برد بُرد
  4. تعدادی سیم برد بُردی

شاید تا کنون بارها نام DHT11 و DHT22 را به عنوان سنسورهای دما و رطوبت شنیده باشید و به دنبال آن هستید که تفاوت آنها را جهت انتخاب بهینه بدانید. سنسور DHT11 که سنسور ارزانتر و کوچکتر و معمولا به رنگ آبی است از دقت بالایی در محدوده ۰ تا ۲۰ درجه سانتی گراد و رطوبت بین ۸۰ تا ۱۰۰ درصد برخوردار  نمی باشد.

در مواردی که نیاز به دقت اندازه گیری در محدوده های فوق باشد بهتر است از سنسور  DHT22 که مقداری گرانتر و بزرگتر است و به رنگ سفید عرضه می شود استفاده کرد.

بستن مدار DHT11 و رزبری پای

مدار بالا نحوه اتصال سنسور به برد رزبری پای را نشان میدهد به نحوه اتصال سنسور دقت کنید. در حالی که سنسور رو به بالاست از سمت چپ اولین پایه VCC است که باید به ولتاژ ۳٫۳ ولت وصل شود پایه دوم از سمت چپ پایه data است که باید به پین مورد نظر رزبری پای وصل شود. پایه سوم عمل خاصی انجام نمیدهد و نیازی به اتصال نیست و در نهایت پایه چهارم باید به زمین مشترک منبع تغذیه و برد رزبری پای وصل گردد.

توجه: اتصال پایه Data به رزبری پای به صورت pull-up می باشد در اینجا از منبع تغذیه ۳٫۳ ولت با استفاده از یک مقاومت ( ۱۰ کیلو اهم ) به پایه دیتا وصل شده و از پایه دیتا به پایه GPIO4 یا pin7 رزبری پای وصل گردیده است.

توجه: این مدار برای سنسور DHT22 دقیقا شبیه به سنسور DHT11 می باشد.

کد نویسی رزبری پای و تست سنسور دما و رطوبت

ابتدا تعدادی از پکیج های رزبری پای باید نصب شوند

حال میتوان کتابخوانه مربوط به سنسور را بار گذاری کرد در اینجا ما از کتابخانه Adafruit استفاده میکنیم که سنسورهای بسیار زیادی را در خود جای داده است.

کد فوق کتابخانه ای را اضافه میکند که به ما امکان زیادی در استفاده از سنسورهای متوع می دهد. اگر تا به اینجای کار را درست انجام داده باشید میتوانید مقدار دما و رطوبت را با استفاده از دستور زیر ببینیم:

پارامتر اول نشان دهنده نوع سنسور اضافه شده است در اینجا ما از مدل DHT11 استفاده کرده ایم بنابراین عدد ۱۱ را نوشته ایم در صورتی که از DHT22 استفاده میکردیم باید عدد ۲۲ نوشته می شد. پارامتر دوم مشخص کننده شماره GPIO برد رزبری پای میباشد که در اینجا شماره ۴ است.

توجه: منظور از شماره GPIO شماره پین نمی باشد بلکه شماره GPIO مثلا پین GPIO شماره ۴ پین ۷ می باشد.

اجرا کردن کد فوق خروجی مشابه زیر به ما میدهد:

توجه بسیار مهم: این سنسورها هر ۲ ثانیه یک بار امکان آپدیت داده را دارند بنابراین در بازخوانی مقادیر و زمان بین آن ها به این نکته توجه داشته باشید.

برای استفاده از کتابخوانه دما و رطوبت رزبری پای در سایر پروژ] های پایتون کافیست از مجموعه کد زیر استفاده کنید.