مشروع التحكم في درجة حرارتها باستخدام مروحة اردوينو

 في هذه المشروع ، ستتعرف على مروحة Arduino التي يتم التحكم في درجة حرارتها باستخدام مستشعر ومرحل DHT22. سنستخدم مستشعر DHT22 للحصول على قيمة درجة الحرارة وسنقوم بطباعة قيمة درجة الحرارة هذه على شاشة LCD. ثم نتحقق مما إذا كانت قيمة درجة الحرارة أكبر من 35 أم لا ، وإذا كانت درجة الحرارة ستكون أكبر من 35 ، فسيتم تنشيط المرحل وستبدأ المروحة في الدوران.

التحكم في درجة الحرارة مطلوب في العديد من الأماكن مثل غرف الخوادم والمنازل والصناعات وما إلى ذلك ، لذا يمكن أن يكون هذا المشروع مفيدًا جدًا في فهم الأساسيات وكيفية التحكم في درجة الحرارة في منزلك. يمكنك أن تأخذ هذا كمشروع DIY يمكن استخدامه في أي مكان. هنا ستعمل المروحة التي يتم التحكم في درجة حرارتها على تغيرات درجة الحرارة.


 

هذا المشروع يعمل في ثلاثة أجزاء:

 في الخطوة الأولى ، يستشعر المستشعر درجة الحرارة بواسطة مستشعر درجة الحرارة والرطوبة وهو DHT11.

في الخطوة الثانية ، يتم أخذ ناتج المستشعر ويتم تحويل قيمة درجة الحرارة إلى رقم مناسب بمقياس سيليزيوس. يتم التحكم في سرعة المروحة باستخدام إشارات PWM. ويظهر الجزء الأخير من النظام الرطوبة ودرجة الحرارة على شاشة LCD وتشغيل المروحة.

ثم قمنا ببرمجة Arduino وفقًا للمتطلبات. العمل على هذا بسيط للغاية. لقد قمنا بتوليد PWM من Arduino ووضعناها في المحطة الأساسية للترانزستور. ثم يولد الترانزستور الجهد فيما يتعلق بإدخال PWM.

مخطط المشروع:


كود اردوينو
#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(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);
}
else{
digitalWrite(relay_pin, HIGH);
lcd.setCursor(0,1);
lcd.print("Fan is OFF ");
}
delay(2000);
}

 


 


 

إرسال تعليق

أحدث أقدم