در این اموزش قصد داریم نحوه راه اندازی سنسورDHT11 به وسیله اردوینو را بصورت کامل اموزش دهیم و میزان دما و رطوبت را اندازه گیری کنیم
# | نوع | تعداد | خرید |
---|---|---|---|
1 | اردوینوArduino uno R3 | 1 | |
2 | سیم جامپر | 2 | |
3 | برد بورد | 1 | |
4 | ماژول dht11 | 1 |
برای برنامه نویسی این پروژه از نرم افزار اردوینو استفاده میکنیم.
قرار است در این پروژه مقدار دما منزل را گرفته و بر روی پورت سریال نمایش بدهیم از ویژگی ماژولdht11 می توان به راه اندازی اسان اشاره کرد{" "}
معرفی پایه ها
اولین قدم افزودن کتابخانه به برنامه است
شماره پین اردوینو که به DATA سنسور متصل است مشخص مکینیم{" "}
این قسمت نوع سنسور خود را مشخص میکنیم
بعد از افزودن کتابخانه می بایست یک شی از ان کتابخانه بسازیم تا در برنامه بتوانیم از ان استفاده کنیم
در اینجا پورت سریال را راه اندازی می کنیم با 9600 بیت در ثانیه تا بتوان اطلاعات ساعت را در سریال ببینیم
در این قسمت باید شی دما سنج را راه اندازی کنیم تا ارتباط اولیه سنسور با اردوینو برقرار شود
برنامههای آردوینو دو قسمت دارندم قداردهیهای اولیه و برنامهی اصلی.همانطور که پیش تر گفته شد،مقدار دهی اولیه در void setup انجام میشود.اما برنامه اصلی که همیشه هم در حال تکرار است در حلقه لوپ یا همان void loopانجام میشود{" "}
در این بخش با استفاده از تابع زیر می توانیم مقدار رطوبت را که به صورت اعشار است به دست اوریم{" "}
با کمک این تابه نیز دما به سانتی گراد برای ما نمایش داده می شود
در این قسمت نیز دما به فارنهایت نمایش داده می شود{" "}
در این بخش نیز نیز پک می کنیم که مقادیر دیتا به درستی دریافت شده باشند و سنسور مقادیر بی معنی به ما نداده باشد{" "}
در اخر نیز تمام مقادیر بر روی سریال قابل نمایش می باشند{" "}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "DHT.h"
#define DHTPIN 3 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.println(F("°F"));
}
پروژه مشابه
کامنت ها
هر هفته یک اموزش
هر هفته یک پروژه
هر هفته یک ویجت