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

اندازه گیری دما و رطوبت محیط با STM32 و DHT11

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

ساخت دماسنج و رطوبت سنج با میکروکنترلر STM 32

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

سنسور DHT11 می تواند درجه حرارت را از 0 تا 50 درجه سانتیگراد با دقت 1 درجه سانتیگراد اندازه گیری کند. معمولاً در محیط های کنترل شده مانند سیستم های تهویه حرارتی ، اتاق های دما و … برای نظارت بر دما و اقدامات اصلاحی مورد استفاده قرار می گیرد. محدوده اندازه گیری رطوبت از 20٪ تا 90٪ با دقت 1٪ است. رطوبت میزان بخار آب موجود در هوا را نشان می دهد. مقدار رطوبت باید در بسیاری از کارخانه ها مانند تولید و ذخیره پودر های چای در یک محدوده کنترل شده حفظ شود ، باید رطوبت صحیح در اتاق حفظ شود و در غیر اینصورت چای طعم و بوی خود را از دست بدهد. همچنین میزان رطوبت اتاق های نشیمن نیز باید در یک محدوده ایده آل حفظ شود. مقدار ایده آل رطوبت برای حداکثر راحتی بین 50 تا 65 درصد است.

ساخت دماسنج و رطوبت سنج با میکروکنترلر STM 32

امروز در این پروژه STM32 می آموزیم که چگونه می توان حسگر محبوب دما و رطوبت DHT11 را با میکروکنترلر STM32 راه اندازی کنیم. ما قبلاً اصول برد STM32 و نحوه استفاده از آن با Arduino IDE را آموخته ایم. STM 32 چیست؟ آموزش برنامه نویسی برد STM32 با آردوینو

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

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

شماتیک مدار کامل برای اتصال DHT11 به میکروکنترلر STM32 در زیر نشان داده شده است. مدار با استفاده از نرم افزار Fritzing رسم شده است.

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

همانطور که مشاهده می کنید ، ما از ماژول رابط I2C برای اتصال LCD به STM32 استفاده کرده ایم. این کار باعث می شود اتصالات ساده شده و تعداد پین های استفاده شده در قسمت میکروکنترلر کم شود. اما اگر این ماژول را ندارید ، می توانید آموزش اتصال ال سی دی کاراکتری به STM32 را بخوانید.

حتما ببینید :  پروژه سرعت سنج GPS با آردوینو و نمایشگر OLED

اگر ماژول رابط دارید، اتصالات مدار بین ماژول رابط سریال I2C  و STM32 در زیر قرار داده شده است.

ماژول I2CSTM32
VCC5V
GNDGND
SDAPB7
SCLPB6

بین سنسور DHT11 و STM32 در زیر قرار داده شده است.

DHT11STM32
VCC5V
GNDGND
DataPA1

قطعات مورد نیاز

  1. STM32 – برد توسعه (BluePill) (STM32F103C8T6)
  2. سنسور دما و رطوبت DHT11
  3. ال سی دی کاراکتری 16*2
  4. ماژول آداپتور سریال رابط I2C

پیکربندی Arduino IDE برای STM32

ما باید برنامه ای بنویسیم تا دما و رطوبت را از سنسور DHT11 بخوانیم و آن را در ماژول LCD نمایش دهیم. در اینجا نمایشگر LCD از طریق آداپتور I2C متصل می شود ، از این رو ابتدا برای برقراری ارتباط با LCD ، ابتدا آدرس I2C این آداپتور را پیدا میکنیم.

ارتباط LCD سریال I2C با STM32

از شماتیک مدار می توانیم متوجه شویم که پین ​​های PB6 و PB7 از برد STM32 به پین های SCL و SDA ماژول رابط سریال I2C متصل هستند. برای پیدا کردن آدرس ماژول رابط سریال I2C ، باید آدرس های موجود را اسکن کنیم.

اسکن کردن آدرس سریال I2C

برای پیدا کردن آدرس I2C ماژول رابط I2C ، مراحل زیر را دنبال کنید.

1. ابتدا بسته STM32 را برای Arduino IDE نصب کنید. برنامه نویسی STM32 با آردوینو

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

2. در حین نصب بسته های برنامه نویسی STM32 با استفاده از Arduino IDE از طریق لینک بالا ، کتابخانه Wire به طور پیش فرض نصب شده است.

3. برنامه برای اسکن دستگاه I2C متصل در examples موجود است.

Tools->Board->Generic STM32F103C8

Arduino IDE: Files->Examples->Wire->I2C scanner wire

مانند تصویر زیر :

ارتباط LCD سریال I2C با STM32

4. پس از آن کد را در  STM32F103C8 بارگذاری کنید و سریال مانیتور را بازکنید.

حال توجه داشته باشید که آدرس I2C نمایشگر I2C 16×2 LCD را به عنوان (0x27) در نظر بگیرید. این آدرس میتواند برای شما متفاوت باشد.

اسکن کردن آدرس سریال I2C

نصب كتابخانه برای ماژول نمایشگر I2C 16×2 و حسگر DHT11

اکنون که آدرس I2C را می دانیم، برای برقراری ارتباط با صفحه نمایش LCD از طریق I2C ، باید یک کتابخانه بارگیری کنیم. کتابخانه نمایشگر I2C LCD در فایل دانلودی انتهای مطلب موجود است. پس از بارگیری فایل زیپ ، کتابخانه LCD I2C را در Arduino IDE نصب کنید. آموزش کامل نصب کتابخانه در نرم افزار آردوینو

حتما ببینید :  اندازه گیری جمعیت با پردازش تصویر رزبری پای و OpenCV

به همین ترتیب برای خواندن داده های سریال از سنسور DHT11 از کتابخانه DHT11 استفاده خواهیم کرد. کتابخانه DHT11 در فایل دانلودی قرار داده شده است.

برنامه نویسی STM32 برای اندازه گیری دما و رطوبت اتاق

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

#include <Wire.h>    // کتابخانه ارتباط I2C
#include <LiquidCrystal_I2C.h>  // کتابخانه ماژول I2C LCD
#include <DHT.h>  // کتابخانه سنسور

اکنون پین متصل به پین داده سنسور DHT11 را تعریف میکنیم.

#define DHTPIN PA1

و همچنین ، DHTTYPE به عنوان DHT11 تعریف شده است.

#define DHTTYPE DHT11

سپس lcd برای کلاس LiquidCrystal_I2C با آدرس I2C 0x27 از نوع 16×2 تنظیم می شود.

LiquidCrystal_I2C lcd(0x27, 16, 2); 

بعدی در void setup ()

ابتدا LCD را با استفاده از موارد زیر تنظیم میکنیم.

lcd.begin();

و سپس از عبارت زیر برای شروع دریافت مقادیر دما و رطوبت از سنسور DHT11 استفاده میکنیم.

dht.begin();     

سپس یک پیام مقدمه در ال سی دی نمایش میدهیم و بعد از 3 ثانیه آن را پاک میکنیم.

lcd.backlight();     
lcd.setCursor(0,0);
lcd.print("CIRCUIT DIGEST");
lcd.setCursor(0,1);
lcd.print("DHT11 with STM32");
delay(3000);
lcd.clear();

سپس در void loop()

مقدار از سنسور DHT11 به طور مداوم دریافت می شود. برای بدست آوردن مقادیر جداگانه دما و رطوبت و ذخیره آن در متغیر از عبارت زیر استفاده می شود.

بدست آوردن مقدار رطوبت :

float h = dht.readHumidity();      

بدست آوردن مقدار دما :

float t = dht.readTemperature();   

و در آخر مقادیر را در صفحه نمایش LCD 16X2 چاپ میکنیم.

  lcd.setCursor(0,0);
  lcd.print("Temp: ");
  lcd.print(t);
  lcd.print(" C");
  lcd.setCursor(0,1);
  lcd.print("Humid: ");
  lcd.print(h);
  lcd.print(" %");

فیلم عملکرد دماسنج و رطوبت سنج با STM32

پس از بارگذاری کد و اتصال قطعات مدار، شما ابتدا پیام مقدمه را مشاهده میکنید و سپس مقادیر دما و رطوبت نمایش داده میشوند. فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

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

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

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

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

محمد رحیمی

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

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

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

دکمه بازگشت به بالا