المكونات والإمدادات
اردوينو نانو ار 3
مصدر طاقة 12 فولت
اسلاك توصيل
حول هذا المشروع
تم تصميم هذا المشروع لإحساس مستوى الرطوبة في الحمام وتهويةه حتى يجف الأرض المبللة لتقليل تراكم الرطوبة في المساحة المغلقة.
يتم تجهيز الحمامات عادة بمراوح العادم لإزالة البخار أثناء الاستحمام ، على سبيل المثال ، ويتم إيقاف تشغيلها في اللحظة التي ننجز فيها. سوف تجف الأرض من تلقاء نفسها ولكن الرطوبة تبقى في الحمام. مع مرور الوقت ، يؤدي تراكم الرطوبة إلى نمو العفن ، والذي يمكن أن يسبب مشاكل صحية شديدة
يمكن أن يكون ترك مروحة العادم الرئيسية خيارًا ، ولكنه مزعج إلى حد ما ويضيف إلى فاتورة الكهرباء.
في هذا المشروع ، أستفيد من مستشعر رطوبة DHT-11 ، ومروحة غلاف كبيرة للكمبيوتر (200 مم DIA ، و 12 أمبير 300 ميلي أمبير) ، و Nano Arduino ، وموصف MOSFET للقيام بهذه المهمة. في نهاية المطاف ،
كود البرمجة
#include <SimpleDHT.h> //Declaring digital pin no 2 as the dht11 data pin int pinDHT11 = 2; int DHTpower = 3; int Fan = 13; int LDRstate = LOW; SimpleDHT11 dht11; void setup() { pinMode(Fan, OUTPUT); pinMode(DHTpower, OUTPUT); pinMode(LDR, INPUT); pinMode(LDRpower, OUTPUT); digitalWrite(DHTpower, LOW); digitalWrite(LDRpower, LOW); digitalWrite(Fan, LOW); Serial.begin(9600); } void loop() { delay(1000); RHcheck(); //check Humidity Level delay(15000); //wait 15sec } void RHcheck() { //Check Humidity Level Function digitalWrite(DHTpower, HIGH); //On Humidity Sensor delay(5000); Serial.println("============ Check Humidity ==============="); delay(1000); Serial.println("DHT11 readings..."); byte temperature = 0; byte humidity = 0; int err = SimpleDHTErrSuccess; //This bit will tell our Arduino what to do if there is some sort of an error at getting readings from our sensor if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) { Serial.print("No reading , err="); Serial.println(err);delay(1000); return; } Serial.print("Readings: "); Serial.print((int)temperature); Serial.print(" C, "); Serial.print((int)humidity); Serial.println(" %"); delay(500); if((int)humidity < 50){ digitalWrite(DHTpower, LOW); delay(500); Serial.println("Fan OFF"); delay(500); digitalWrite(Fan, LOW); }else{ if ((int)humidity > 58){ Serial.println("Humidity > 58%"); digitalWrite(DHTpower, LOW); delay(500); Serial.println("Fan ON @ full speed"); delay(500); digitalWrite(Fan, HIGH); }else{ Serial.println("50% < Humidity < 58%"); digitalWrite(DHTpower, LOW); delay(500); Serial.println("Fan ON @ low speed"); delay(500); analogWrite(Fan, 200); } } }
ليست هناك تعليقات:
إرسال تعليق