مطابق با دیاگرام، ماژول را به آردوینو متصل کنید.
نمایش گرافیکی دادگان از ابزارهای مفید تحلیل داده است. نرمافزار متلب با قابلیت گسترده در حوزه تحلیل داده و امکان برقراری ارتباط با سخت افزار و میکروکنترلرها یکی از محبوبترین نرمافزارها به شمار میرود. در این آموزش نحوهی راهاندازی و نمایش دادههای سنسور دما و وطوبت DHT11 با استفاده از آردینو و متلب مورد بررسی قرار میگیرد.
# | عنوان | تعداد | لینک |
---|---|---|---|
0 | برد بورد | 1 | لینک خرید |
1 | ماژول دما و رطوبت DHT11 | 1 | لینک خرید |
2 | سیم جامپر | 1 | لینک خرید |
3 | برد آردوینو | 1 | لینک خرید |
مطابق با دیاگرام، ماژول را به آردوینو متصل کنید.
پس از اتصال سنسور دما و رطوبت به آردوینو کدی را برنامهای را که در ادامه توضیح داده میشود، با استفاده از کامپایلر آردوینو IDE در آردوینو بارگذاری کنید.
#include <DHT.h>
ابتدا کتابخانهی سنسور را به صورت زیر فراخوانی کنید. سپس پین دیجیتال شماره 4 را به منظور انتقال داده از سنسور به آردوینو اختصاص دهید.
#define DHTPIN 4
درقسمت "void setup" سنسور DHT11 را راهاندازی اولیه کنید.
void setup() {
Serial.begin(9600);
delay(2000);
dht.begin(); // initialise DHT11 sensor
}
در حلقه اصلی برنامه "void loop" قدار دما و رطوبت را به صورت float تنظیم کنید.
دادههای دما و رطوبت را از آردوینو با استفاده از فرمان ()float temp = dht.readTemperature و ()float humi = dht.readHumidity بخوانید. سپس این مقادیر را به صورت سریال چاپ کنید تا متلب بتواند مقادیر را بخواند.
void loop() {
float temp = dht.readTemperature(); //read temperature data
float humi = dht.readHumidity(); //read temperature data
Serial.print(temp);
Serial.print(humi);
delay(2000);}
گام اول: نرم افزار را در سیستم خود باز کرده و یک اسکریپت جدید مطابق با آنچه که در تصویر مربوط به این مرحله نشان داده شده، ایجاد کنید.
گام دوم: یک متغیر برای ارتباط سریال از متلب به آردوینو تعریف کنید. در اینجا COM18 پورت شناسایی شده آردوینو است.
s = serial('COM18');
گام سوم: در کد زیر دستور ()fopen به منظور ارتباط سریال بین آردینو و متلب به کار میرود. سپس داده های سریال دریافتی را در متغیری به نام "out" ذخیره میشوند. متغیر out رشته ای نه رقمی است که چهار رقم اول دادههای دما و 5 رقم باقیمانده بیانگر میزان رطوبت است. بنابراین ، با استفاده ازدستور ((Temp(i)=str2num(out(1:4و ((Humi(i)=str2num(out(5:9 به ترتیب دادههای دما و رطوبت را خوانده میشوند.
fopen(s)
out = fscanf(s)
Temp(i)=str2num(out(1:4));
Humi(i)=str2num(out(5:9));
گام چهارم: بعد از ایجاد برنامه به صورت گفته شده ، روی "Run " کلیک کرده تا کد پردازش شده و منتظر شوید تا متلب مطابق با آنچه در تصویر مشاهده میکنید در حالت "Busy" قرار بگیرد.
اگر کد بدون هیچ خطایی اجرا شود، میزان دما و رطوبت به صورت Real Time ب ظاهر میشوند. در اینجا دادهها هر دو ثانیه یکبار به روزرسانی میشوند؛ زیرا دو ثانیه زمان لازم برای ارسال اطلاعات به پورت سریال توسط سنسور DHT11 است.
گام پنجم: برای بررسی مقدار ثبت شده دما و رطوبت مطابق با تصویر زیر بر روی متغیر مربوطه در پنجره فضای کاری کلیک کنید. در داخل
"dialog box" تمامی مقادیر ذخیره شده در متغیرهای مربوطه وجود دارند.