هدف از این آموزش یادگیری نحوه استفاده از سنسور DHT22 با آردوینو uno است. دما و رطوبت اتاق روی مانیتور سریال چاپ می شود و همچنین روی LCD 4×20 در Proteus ISIS نمایش داده می شود.
![نظارت بر دما و رطوبت با سنسور DHT22 Arduino Uno R3 DHT22-PinOut](https://duino4projects.com/wp-content/uploads/2018/06/Temperature-and-Humidity-monitoring-with-DHT22-sensor-Arduino-Uno-R3-DHT22-PinOut-300x249.png)
سنسور DHT22
DHT22 یک سنسور دیجیتالی ساده و ارزان قیمت و دما و رطوبت است. این دستگاه از یک سنسور خازنی رطوبت و یک ترمیستور برای اندازه گیری هوای اطراف استفاده می کند و یک سیگنال دیجیتال را روی پین داده پخش می کند. اتصالات ساده هستند، پایه اول در سمت چپ به برق 3-5 ولت، پایه دوم به پایه ورودی داده شما و بیشترین پایه سمت راست به زمین. فایل مشخصات DHT22 را می توانید از این لینک دانلود کنید
امکانات:
قدرت: 3.3-6 ولت سیگنال خروجی DC
: سیگنال دیجیتال از طریق تک باس
حداکثر جریان: 2.5 میلی آمپر
رطوبت: 0-100٪، دقت 2-5٪
دما: -40 تا 80 درجه سانتیگراد، دقت 0.5 ± درجه سانتیگراد.
سخت افزار مورد نیاز:
1x Arduino UNO R3
1x LCD 4×20
1x سنسور DHT22
1x پتانسیومتر
2x مقاومت 4.7K
دکمه 1x برای RESET
1x BreadBoard
14x سیم جامپر.
توسعه دهندگان نرم افزار:
کد توسعه یافته برای ARDUINO UNO R3 به زبان C نوشته شده است. کامپایلر مورد استفاده برای نوشتن کد C آردوینو IDE (1.8.0) است. پس از اینکه کد c با موفقیت کامپایل شد، یک فایل HEX تولید می شود.
نظارت بر دما و رطوبت با سنسور DHT22 Arduino Uno R3 (کد)
#include "DHT.h"
#include
#define DHTPIN 7
#define DHTTYPE DHT22 // DHT22
// initialize the library with the numbers of the interface pins
// lcd(RS, E, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
DHT dht(DHTPIN, DHTTYPE);
const char DEGREE_SYMBOL = 167; //167 is the ASCII code for the degree symbol
// Array symbol degree
byte level [8] = {B00001100,
B00010010,
B00010010,
B00001100,
B00000000,
B00000000,
B00000000,
B00000000,
};
//
void setup() {
Serial.begin(9600);
Serial.println("Temperature and Humidity monitoring with DHT22");
// set up the LCD's number of columns and rows:
//lcd.begin(numCols, numRows);
// Initialize the display
lcd.begin (20, 4);
lcd.clear ();
// Information on the initial display
lcd.setCursor (1, 0);
lcd.print ("LET'S THINK BINARY");
lcd.setCursor (0,1);
lcd.print ("www.electronify.org");
lcd.setCursor (0,2);
lcd.print ("Temperature: ");
lcd.setCursor (17,2);//18
// Shows the symbol of the degree
lcd.print(" \xDF" "C");
lcd.setCursor (0,3);
lcd.print ("Humidity: ");
lcd.setCursor (19,3);
lcd.print ("%");
Serial.begin (9600);
Serial.println ("Waiting for data ...");
// Starts DHT sensor
dht.begin ();
}
void loop() {
// Moisture reading
float h = dht.readHumidity();
// Reading of temperature (Celsius)
float t = dht.readTemperature();
// Check if the sensor is responding
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
} else {
// Display the temperature in the serial monitor
Serial.print ("Temperature: ");
Serial.print (t);
// Display the temperature in the LCD
lcd.setCursor (13,2);
lcd.print (t);
Serial.write(DEGREE_SYMBOL);
Serial.print("C" );
// Show the moisture in the serial monitor
Serial.print (" Humidity: ");
Serial.print (h);
Serial.println (" %");
// Display the humidity in the LCD 4X20
lcd.setCursor (13,3);
lcd.print (h);
// Wait 2 seconds between the measurements
delay (2000);
}
}
پایش دما و رطوبت با سنسور DHT22 Arduino Uno R3 (نمودار شماتیک)
![مانیتورینگ دما و رطوبت با سنسور DHT22 نمودار شماتیک Arduino Uno R3](https://duino4projects.com/wp-content/uploads/2018/06/Temperature-and-Humidity-monitoring-with-DHT22-sensor-Arduino-Uno-R3-schematic-diagram-300x238.gif)
رابط سنسور دما و رطوبت آردوینو
نتایج:
کد PIC را کامپایل کنید و فایل هگز را از آن دریافت کنید. برای شبیه سازی با PROTEUS ISIS دکمه run را بزنید و سپس خروجی بالاتر را دریافت خواهید کرد.