
به نام خدا
پروژه ی کنترل دما با استفاده از فن از طریق آردوینو
در این مقاله ،شما میخواهید در باره ی فن کنترل دما با ادوینو با استفاده از سنسور DHT22 ورله یاد بگیریم . ما میخواهیم با استفاده از سنسور DHT22 دمای محیط را اندازه گرفته و بر روی LCDنمایش دهیم.سپس ما میخواهیم بررسی کنیم که ایا دمای اندازه گیری شده بیشتر از ۳۵ درجه است یا خیر ، اگر دما بیشتر از ۳۵ درجه بود ، سپس رله فعال شود و فن شروع به چرخیدن کند .
بخش سخت افزار:
اولین قدم اتصال ماژول LCD به اردینو به صورت زیراست :
- پایه VSS، LCD را به زمین آردوینو وصل میکنیم .
- پایه VDDرا به ولت۵ آردوینو وصل میکنیم .
- پایه VO را به پایه وسط پتانسیومتر ۱۰Kوصل میکنیم . دو پایه دیگر پتانسومتر را به ۵V و زمین وصل میکنیم .
- پایه RSرا به پایه ۲ آردوینو وصل میکنیم .
- پایه R/Wرا به زمین آردوینو وصل میکنیم . این عمل LCD را در حالت خواندن قرار خواهد داد.
- پایه Enable را به پایه ۳ آردوینو وصل میکنیم .
- پایه های D4 تا D7 را به پایه های ۴،۵،۶،۷ آردوینو وصل می کنیم .
- پایه ۱۵ که پایه مثبت پس زمینه LED است را به مقاومت ۲۲۰ اهم که به پایه ۵V متصل است وصل میکنیم .
- پایه ۱۶ که پایه منفی پس زمینه LED است را به پایه زمین آردوینو وصل میکنیم .
سپس رله را به آردوینو متصل میکنیم . در قسمت ورودی ماژول رله اتصالات به صورت زیر است:
- پایه VCC ماژول رله را به پایه ۵V آردوینو متصل میکنیم.
- پایه IN ماژول رله را به پایه ۹ آردوینو وصل میکنیم.
- پایه GND ماژول رله را به زمین آردوینو وصل میکنیم.
در قسمت خروجی ماژول رله ، قطب منفی باتری ۹V را به پایه مشترک (c) رله وصل میکنیم و پایه NC ماژول رله را به منفی فن (آرمیچر) وصل میکنیم .
در آخر ، DHT22 سنسور دما و رطوبت را متصل میکنیم .
- پایه ۱ ، DHT22 را که پایه VCC است را به ۵V آردوینو وصل میکنیم .
- پایه ۲ ، DHT22 را که پایه data (داده) است را به پایه ۸ آردوینو وصل میکنیم .
- پایه ۴ ، DHT22 را که پایه زمین است را به پایه زمین آردوینو وصل میکنیم .
توضیحات کد:
اول از همه ، ما کتابخانه هایی را که شامل سنسور DHT22 و LCD می شوند را اضافه میکنیم . کتابخانه ها به آسان سازی کدها کمک می کنند .
"include "DHT.h#" "include "LiquidCrystal.h#
سپس ما پایه هایی را که از LCD و DHT22 وصل کرده بودیم مقدار دهی اولیه میکنیم . پس از آن ما نوع سنسور DHT را که استفاده کرده ایم معرفی میکنیم . انواع مختلف زیاد دیگری از سنسور DHT در دسترس است مثل DHT11 بنابراین در اینجا خیلی مهم است که نوع آن را معرفی کنیم.
;(LiquidCrystal lcd(2, 3, 4, 5, 6, 7 define DHTPIN 8 # define DHTTYPE DHT22 # ;(DHT sensor(DHTPIN, DHTTYPE
در قسمت setup function (تنظیم عملکرد) ، ما به DHT22 و LCD دستور میدهیم تا با آردوینو ارتباط برقرار کنند . سپس ما پایه رله را به عنوان خروجی اعلام مکنیم زیرا ما ولتاژ را از آردوینو به رله می دهیم تا رله فعال شود . رله به صورت معکوس کار میکند.(برای رله High به معنای Low است)
;(lcd.begin(16,2 ;()sensor.begin :(pinMode(relay_pin, OUTPUT ;(digitalWrite(relay_pin, HIGH
در Loop function (حلقه عملکرد) ، ما صفحه LCD را پاک میکنیم و سپس مقدار دما را از سنسور می خوانیم .
:()lcd.clear float t = sensor.readTemperature(); //reading the temperature from the sensor // Checking if the sensor is sending values or not }((if (isnan(t ;("lcd.print("Failed ;(delay(1000 ;return }
سپس ما این مقدار دما را در LCD چاپ می کنیم و اگر مقدیر دما از ۳۵ درجه بیشتر بود ، سپس رله فعال خواهد شد و فن شروع به چرخش خواهد کرد .
;(lcd.setCursor(0,0 ;("lcd.print("Temp ;(lcd.print(t ;("lcd.print(" C }(if (t > 35 ;(digitalWrite(relay_pin, LOW ;(lcd.setCursor(0,1 ;("lcd.print("Fan is ON ;(delay(10 }
دانلود کنترل دما با استفاده از فن از طریق آردوینو :
دانلود فایل#include "DHT.h"
#include "LiquidCrystal.h"
LiquidCrystal lcd(7, 8, 9, 10, 11 ,12);
#define DHTPIN 6
#define DHTTYPE DHT22
DHT sensor(DHTPIN, DHTTYPE);
int relay_pin = 9;
void setup() {
lcd.begin(16,2);
sensor.begin();
pinMode(relay_pin, OUTPUT);
digitalWrite(relay_pin, HIGH);
}
void loop() {
lcd.clear();
float t = sensor.readTemperature(); //reading the temperature from the sensor
// Checking if the sensor is sending values or not
if (isnan(t)) {
lcd.print("Failed");
delay(1000);
return;
}
lcd.setCursor(,);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
if (t > 35){
digitalWrite(relay_pin, LOW);
lcd.setCursor(,1);
lcd.print("Fan is ON ");
delay(10);
}
else{
digitalWrite(relay_pin, HIGH);
lcd.setCursor(,1);
lcd.print("Fan is OFF ");
}
delay(2000);
}
Less
دیدگاهها (0)