جدول المحتويات:

أتمتة المنزل: إصدار إنذار وعرض على شاشة LCD عندما تكون درجة الحرارة أعلى من قيمة الحد الأدنى: 5 خطوات
أتمتة المنزل: إصدار إنذار وعرض على شاشة LCD عندما تكون درجة الحرارة أعلى من قيمة الحد الأدنى: 5 خطوات

فيديو: أتمتة المنزل: إصدار إنذار وعرض على شاشة LCD عندما تكون درجة الحرارة أعلى من قيمة الحد الأدنى: 5 خطوات

فيديو: أتمتة المنزل: إصدار إنذار وعرض على شاشة LCD عندما تكون درجة الحرارة أعلى من قيمة الحد الأدنى: 5 خطوات
فيديو: NAS-PD07 - مستشعر حركة Zigbee مزود بمصدر طاقة USB صغير 2024, شهر نوفمبر
Anonim
أتمتة المنزل: إصدار إنذار وعرض على شاشة LCD عندما تكون درجة الحرارة أعلى من قيمة الحد الأدنى
أتمتة المنزل: إصدار إنذار وعرض على شاشة LCD عندما تكون درجة الحرارة أعلى من قيمة الحد الأدنى

ستوضح هذه المدونة كيفية إنشاء نظام أتمتة للمنزل والذي سيبدأ في إصدار صوت إنذار عندما تصل درجة الحرارة إلى أكثر من قيمة العتبة المبرمجة. ستستمر في عرض درجة الحرارة الحالية للغرفة على شاشة LCD والإجراء المطلوب (على سبيل المثال: تقليل درجة الحرارة) عندما تصل درجة الحرارة إلى أكثر من قيمة العتبة. في هذا البرنامج التعليمي ، أستخدم مستشعر درجة الحرارة AD22100 الذي تم تصنيعه بواسطة Analog Devices و AG-1005G Buzzer. AD22100 هو مستشعر درجة حرارة خرج الجهد مع تكييف إشارة

الخطوة 1: الأجزاء

أنت بحاجة إلى هذه الأجزاء معك قبل البدء في هذا العمل غير القابل للتدمير

1. Arduino UNO Board

2. شاشة عرض LCD (16 × 2)

3. الجرس - 2 دبوس (AC-1005G)

4. مستشعر درجة الحرارة - 3 دبوس (AD22100)

الخطوة 2: توصيل الأجزاء المختلفة بـ Arduino UNO

اتصال LCD بلوحة Arduino UNO

LCD RS Pin (Pin 4) مع Pin 7 من لوحة Arduino

LCD تمكين دبوس (دبوس 6) مع دبوس 8 من لوحة Arduino

LCD D4 Pin (Pin 11) مع Pin 9 من لوحة Arduino

LCD D5 Pin (Pin 12) مع Pin 10 من لوحة Arduino

LCD D6 Pin (Pin 13) مع Pin 11 من لوحة Arduino

LCD D7 Pin (Pin 14) مع Pin 12 من لوحة Arduino

أضف قدر 10 KΩ إلى + 5v (قدر دبوس 1) و GND (قدر دبوس 3) ،

قم بتوصيل السنون الأوسط للوعاء (دبوس الإناء 2) بشاشة LCD V0 سن (السن 3).

LCD VDD Pin (Pin 2) و LCD A Pin (Pin 15) مع + 5v على لوحة Arduino.

LCD VSS Pin (Pin 1) و LCD K Pin (Pin 16) مع GND على لوحة Arduino.

اتصال مستشعر درجة الحرارة AD22100 بلوحة Arduino UNO

يجب توصيل دبوس 1 (V +) من AD22100 بـ +5 v على لوحة Arduino.

يجب توصيل Pin 2 (Vo) من AD22100 بـ Pin A1 على لوحة Arduino.

يجب توصيل دبوس 3 (GND) من AD22100 بـ GND على لوحة Arduino

اتصال الجرس (AC-1005G) بلوحة Arduino UNO

يجب توصيل مخرج Pin 6 PWM بلوحة Arduino بمدخل + ve من Buzzer.

يجب توصيل GND للوحة Arduino مع مدخلات Buzzer

الخطوة 3: رموز اردوينو

قم بتجميعها وتحميلها على لوحة Arduino ولاحظ العرض التوضيحي لنظام أتمتة المنزل

// يبدأ البرنامج هنا

int فال؛

int tempPin = A1 ؛

الجرس int = 6 ؛

# تتضمن LiquidCrystal lcd (7 ، 8 ، 9 ، 10 ، 11 ، 12) ؛

الإعداد باطل() {

// ضع رمز الإعداد هنا ، للتشغيل مرة واحدة:

lcd.begin (16 ، 2) ؛

lcd.clear () ؛

Serial.begin (9600) ؛

pinMode (الجرس ، الإخراج) ؛

}

حلقة باطلة () {// ضع الكود الرئيسي هنا ، للتشغيل بشكل متكرر:

val = analogRead (tempPin) ؛ // AD22100 متصل في Pin A1

/*

* بالنسبة لـ 25 درجة مئوية ، تأتي قيمة val بـ 900 وهذا يعني

* 900 يتوافق مع 1.9375 فولت

* وظيفة النقل هي (V + / 5) * (1.375 + 22.5 mv / degC * 25 degC) ،

* اقرأ ورقة البيانات AD22100

*/

تعويم سل = ((((1.9375 / 900) * val) - 1.375) /22.5) * 1000 ؛

تعويم فرح = (cel * 9) / 5 + 32 ؛

Serial.print (فال) ؛

Serial.println () ،

Serial.print ("TEMPRATURE =") ؛

Serial.print (cel) ؛ Serial.print ("* C") ؛

Serial.println () ،

إذا (cel> 26) {

نغمة (الجرس ، 1000) ؛

lcd.clear () ؛

lcd.print ("درجة الحرارة أعلى من الحد الأدنى") ؛

lcd.setCursor (0 ، 1) ؛

lcd.print ("تقليل درجة الحرارة") ؛

}

آخر

{noTone (الجرس) ؛

lcd.clear () ؛

lcd.print ("درجة الحرارة تحت السيطرة") ؛

lcd.setCursor (0 ، 1) ؛

lcd.print ("Temp =") ؛

lcd.print (سل) ؛

lcd.print ("degC") ؛

}

تأخير (500) ؛

}

// ينتهي البرنامج هنا

الخطوة 4: فهم البرنامج بالتفصيل

سأحاول شرح قسم قليل من الكود.

الوظائف المتعلقة ببيان If / else

إذا كانت درجة الحرارة أكبر من قيمة العتبة ، فأنا أرسل إشارة إلى الجرس لإصدار إنذار وعرض على شاشة LCD لتقليل درجة الحرارة مع القسم أدناه من الكود

إذا (cel> 26)

{نغمة (صفارة ، 1000) ؛

lcd.clear () ؛

lcd.print ("درجة الحرارة أعلى من الحد الأدنى") ؛

lcd.setCursor (0 ، 1) ؛

lcd.print ("تقليل درجة الحرارة") ؛

}

إذا لم يكن الأمر كذلك ، فإن إرسال القيمة الحالية لدرجة الحرارة إلى شاشة LCD وعرض هذه درجة الحرارة يكون تحت السيطرة.

آخر

{noTone (الجرس) ؛

lcd.clear () ؛

lcd.print ("درجة الحرارة تحت السيطرة") ؛

lcd.setCursor (0 ، 1) ؛

lcd.print ("Temp =") ؛

lcd.print (سل) ؛

lcd.print ("degC") ؛

}

الوظائف المتعلقة بالجرس

نغمة (الجرس ، 1000) - سترسل هذه الوظيفة إشارة 1 كيلوهرتز إلى دبوس مسمى الجرس والذي يتم تعريفه على أنه دبوس 6 ويتم توصيل الجرس المغناطيسي عند رقم 6. noTone (الجرس) - ستتوقف عن إرسال إشارة 1 كيلوهرتز. ومن ثم سيتوقف الرنين

الوظائف المتعلقة بجهاز استشعار درجة الحرارة

يتم تحويل القيمة التناظرية لقراءة درجة الحرارة إلى قيمة درجة C باستخدام وظيفة النقل التي يمكن العثور عليها في ورقة بيانات AD22100 كما هو مكتوب أدناه.

Vout = (V + / 5 V) × (1.375 V + 22.5 mV / ° C × TA) ويتم طباعة نفس القيمة على شاشة LCD.

الخطوة 5: عرض توضيحي لـ Instructables

بمجرد تجميع البرنامج وتحميله على لوحة Arduino UNO

دعونا نحاول زيادة درجة الحرارة التي يستشعرها مستشعر درجة الحرارة AD22100 والاستمتاع بنظام أتمتة المنزل.

لزيادة درجة حرارة المستشعر ، أقوم بلمسها بمكواة اللحام المتوفرة في المختبر.

يمكنك إلقاء نظرة على العرض التوضيحي هنا..

عرض لنظام أتمتة المنزل

موصى به: