جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
ستوضح هذه المدونة كيفية إنشاء نظام أتمتة للمنزل والذي سيبدأ في إصدار صوت إنذار عندما تصل درجة الحرارة إلى أكثر من قيمة العتبة المبرمجة. ستستمر في عرض درجة الحرارة الحالية للغرفة على شاشة 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 والاستمتاع بنظام أتمتة المنزل.
لزيادة درجة حرارة المستشعر ، أقوم بلمسها بمكواة اللحام المتوفرة في المختبر.
يمكنك إلقاء نظرة على العرض التوضيحي هنا..
عرض لنظام أتمتة المنزل