پروژه الکترونیکپروژه های پایتونپروژه های دما و رطوبتپروژه های رزبری پای

پروژه انداره گیری دما و رطوبت با DHT11 و رزبری پای

سلام. پروژه انداره گیری دما و رطوبت با DHT11 و رزبری پای را آماده کردیم.

آموزش ساخت دماسنج و رطوبت سنج با Raspberry pi

دما و رطوبت رایج ترین پارامترهایی هستند که در هر محیط کنترل می شوند. برای اندازه گیری دما و رطوبت ، سنسورهای زیادی وجود دارد ، اما بیشترین کاربرد را سنسور DHT11 دارد و دلیل آن محدوده و اندازه گیری مناسب است. همچنین با ارتباط تک پین کار می کند و از این رو ارتباط آن با میکروکنترلر یا ریزپردازنده ها بسیار آسان است. در این پروژه رزبری پای قصد داریم نحوه اتصال سنسور محبوب DHT11 را به Raspberry pi یاد بگیریم و مقدار دما و رطوبت را در ال سی دی کاراکتری نمایش دهیم.

مشخصات سنسور دما و رطوبت DHT11

این سنسور قابلیت تشخیص دما در محدوده 0-50 درجه سانتی گراد را دارد. و دقت اندازه گیری دمای سنسور +-2 است. همچنین بخش رطوبت سنج این حسگر میتواند در محدوده 20 تا 90 درصد با دقت +-5% فعالیت کند.

سنسور دما و رطوبت DHT11

سنسور DHT11 هم به صورت ماژول و هم به صورت سنسور در دسترس است. در این پروژه ما از سنسور استفاده میکنیم. تنها تفاوت سنسور و ماژول در این است که ماژول دارای یک خازن و یک مقاومت متصل به پین خروجی است. بنابراین اگر از ماژول استفاده میکنید نیاز نیست که مقاومت و خازن را اضافه کنید.

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

  • دامنه دما: 0-50 درجه سانتی گراد
  • دقت دما: °2 درجه سانتی گراد
  • محدوده رطوبت: 20-90٪ RH
  • دقت رطوبت: 5 ±

نصب كتابخانه LCD Adafruit در Raspberry Pi

مقدار دما و رطوبت در صفحه نمایش LCD 16 * 2 نمایش داده می شود. Adafruit کتابخانه ای را در اختیار ما قرار می دهد تا این ال سی دی به راحتی در حالت 4 بیتی کار کند ، بنابراین اجازه دهید با باز کردن پنجره ترمینال Pi و دنبال کردن مراحل زیر ، آن را به Raspberry Pi اضافه کنیم.

مرحله 1: با استفاده از خط زیر git را روی Raspberry Pi نصب کنید. Git به شما امکان می دهد تا فایلهای پروژه را در Github کلون کنید و از آن در Raspberry pi استفاده کنید. كتابخانه ما روی Github است ، بنابراین برای بارگیری آن كتابخانه باید به صورت git نصب شود.

apt-get install git

مرحله 2: خط زیر را اجرا کنید تا کتابخانه از گیت هاب کلون شود.

git clone git://github.com/adafruit/Adafruit_Python_CharLCD

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

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (ساخت ربات، ارتباط با اندروید، اینترنت اشیا، برنامه نویسی حرفه ای) یاد بگیرید، حتما دوره آموزش آردوینو را مشاهده کنید.
cd Adafruit_Python_CharLCD

مرحله 4: در داخل دایرکتوری فایلی به نام setup.py وجود دارد ، ما باید آن را نصب کنیم ، تا کتابخانه را نصب کنیم. برای نصب کتابخانه از کد زیر استفاده کنید

sudo python setup.py install

کتابخانه باید با موفقیت نصب می شود. حال به طور مشابه می خواهیم کتابخانه DHT را که از Adafruit نیز هست نصب کنیم.

نصب كتابخانه Adafruit DHT11 در Raspberry Pi

سنسور DHT11 با اصل تک سیم کار می کند. مقدار دما و رطوبت توسط حسگر حس شده و سپس از طریق پین خروجی به عنوان داده های سریال منتقل می شود. سپس می توانیم با استفاده از پین I / O روی MCU / MPU این داده ها را بخوانیم.

کتابخانه DHT11 ارائه شده توسط Adafruit می تواند برای DHT11 ، DHT22 استفاده شود. روش نصب کتابخانه DHT11 نیز مشابه روشی است که برای نصب کتابخانه LCD دنبال می شود. تنها خطی که تغییر می کند پیوند صفحه GitHub است که در آن کتابخانه DHT ذخیره می شود.

برای نصب کتابخانه DHT چهار خط فرمان را یک به یک در ترمینال وارد کنید

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo apt-get install build-essential python-dev
sudo python setup.py install 

حالا نوبت به اتصال قطعات میرسد.

توضیحات شماتیک مدار پروژه

شماتیک مدار پروژه ساخت دماسنج و رطوبت سنج با رزبری پای در تصویر زیر نشان داده شده است.

مدار پروژه ساخت دماسنج و رطوبت سنج با رزبری پای

ال سی دی کاراکتری و سنسور DHT11 با 5 ولت کار میکنند. بنابراین ما از پین های 5 ولت روی برد Raspberry pi استفاده میکنیم. از مقاومت 1 کیلو اهم در پین خروجی سنسور DHT11 استفاده می شود.

یک پتانسیومتر 10 کیلو اهم برای کنترل سطح کنتراست LCD به پین ​​Vee ال سی دی اضافه شده است. تصویر زیر به شما کمک میکند پین های GPIO را بدانید.

پین های رزبری پای

برنامه نویسی پایتون برای سنسور DHT11

ما باید کدی را بنویسیم که بتواند مقدار دما و رطوبت را از سنسور DHT11 بخواند و آن را روی ال سی دی کاراکتری نمایش دهد. کد کامل در انتهای صفحه در فایل دانلودی قرار داده شده است. در اینجا بعضی از قسمت های کد را بررسی میکنیم.  از آنجا که ما کتابخانه هایی را برای سنسور LCD و DHT11 بارگذاری کرده ایم ، کد بسیار ساده میشود.

ما باید از کتابخانه LCD و کتابخانه DHT11 به برنامه خود وارد کنیم تا از توابع مربوط به آن استفاده کنیم. از آنجا که قبلاً آنها را در رزبری پای خود بارگیری و نصب کرده ایم ، می توان از خطوط زیر برای وارد کردن آنها استفاده کرد. ما همچنین برای استفاده از عملکرد تأخیر ، کتابخانه زمان را وارد می کنیم.

import time #کتابخانه برای تاخیر
import Adafruit_CharLCD as LCD #کتابخانه ال سی دی
import Adafruit_DHT #کتابخانه سنسور

در مرحله بعد باید مشخص کنیم که سنسورها به کدام پین متصل شده و از کدام سنسور دما استفاده می شود. از سنسور DHT11 در اینجا استفاده می کنیم. متغیر sensor_name به Adafruit_DHT.DHT11 اختصاص داده شده است. پین خروجی سنسور در GPIO 17 رزبری پای تنظیم شده است و از این رو 17 را به متغیر sensor_pin مانند شکل زیر اختصاص می دهیم.

sensor_name = Adafruit_DHT.DHT11 #استفاده از سنسور DHT11
sensor_pin = 17 #تنظیم پین GPIO17  به عنوان خروجی سنسور

به طور مشابه ، ما همچنین باید تعریف کنیم که LCD به کدام پین وصل شده است. در اینجا ما از LCD در حالت 4 بیتی استفاده می کنیم از این رو چهار پین دیتا و دو پین کنترل برای اتصال به پین ​​های GPIO خواهیم داشت.

lcd_rs        = 7  
lcd_en        = 8  
lcd_d4        = 25 
lcd_d5        = 24 
lcd_d6        = 23 
lcd_d7        = 18 
lcd_backlight =  0 

همچنین می توانید LCD را در حالت 8 بیتی به Raspberry pi متصل کنید اما کار سخت تر میشود و نیازی نیست !

کتابخانه LCD از Adafruit که بارگیری کرده ایم می تواند برای انواع نمایشگرهای LCD استفاده شود. در این پروژه ما از یک نمایشگر ال سی دی کاراکتری 16*2 استفاده می کنیم بنابراین تعداد ردیف ها و ستون ها را به یک متغیر مطابق شکل زیر ذکر می کنیم.

lcd_columns = 16 #16 ستون
lcd_rows    = 2 #2 ردیف

اکنون که پین ​​های LCD و تعداد ردیف ها و ستون ها را برای LCD اعلام کردیم می توانیم با استفاده از خط زیر ، صفحه نمایش ال سی دی را به صورت اولیه تنظیم کنیم و تمام اطلاعات مورد نیاز را به کتابخانه ارسال کنیم.

lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows, lcd_backlight) 

برای شروع برنامه ، یک پیام مقدمه کوچک با استفاده از عملکرد lcd.message () نمایش می دهیم و سپس 2 ثانیه تأخیر می دهیم تا پیام قابل خواندن باشد. برای چاپ روی خط دوم از دستور \ n می توان مانند زیر استفاده کرد.

lcd.message('DHT11 with Pi \n -Irenx') #پیام مقدمه
time.sleep(2) #تاخیر 2 ثانیه ای

سرانجام ، در داخل while ما باید مقدار دما و رطوبت را از سنسور بخوانیم و هر 2 ثانیه آن را روی صفحه LCD نمایش دهیم. برنامه کامل داخل while در زیر نشان داده شده است.

 while 1: #Infinite Loop
    lcd.clear() #پاکسازی ال سی دی
    lcd.message ('Temp = %.1f C' % temperature) #نمایش مقدار دما
    lcd.message ('\nHum = %.1f %%' % humidity)  #نمایش مقدار رطوبت

    time.sleep(2) #هر 2 ثانیه مقدار را بروزرسانی میکند

همانطور که مشاهده می کنید ، دو مقدار رطوبت و دما که در متغیر ذخیره می شوند، در اینجا خوانده میشوند. مشخصات sensor_name و sensor_pin به عنوان پارامترها منتقل می شوند. این مقادیر در ابتدای برنامه بروز میشود.

humidity, temperature = Adafruit_DHT.read_retry(sensor_name, sensor_pin)

فیلم عملکرد پروژه اندازه گیری دما و رطوبت با Raspberry pi

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

پروژه اندازه گیری دما و رطوبت با Raspberry pi

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

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

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل 

برای دانلود فایل ها باید عضو آیرنکس باشید، تنها چند ثانیه زمان لازم است.

ورود / ثبت نام

[lrm_form default_tab=”register” logged_in_message=””]

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *