قد نحتاج في لأحد مشاريعنا إلى قيس حرارة الغرفة أو حرارة طقس …
في هذا الدرس سنتعرّف على مكوّن
حسّاس للحرارة ( Capteur de température TMP36)

حسّاس للحرارة TMP36وهو مكوّن إلكتروني ذات دقّة كبيرة و يعمل بالتيّار كهربائي مستمر منخفض الجهد (حوالي من 2.75 فولط إلى 5.5 فولط )
يمكن قيس دراجة حرارة من -40° إلى 125° بخطأ ±1°
يوفّر تيّار كهربائي متناسب مع الحرارة فـ 0.01 فولط كل درجة حرارة 10 mV/°C
يوفّر كبداية ( -40°) قيمة أصليّة 0.1 فولط
يحتوي على 3 أقطاب (قطب يركّب في الموجب و قطب يركّب في السالب و قطب لإخراج المعلومة


شاهد هذا الفيديو
الدّارة الكهربائيّة
في ما يلي الدّارة الكهربائيّة متكوّنة من لوحة أردوينو و حسّاس للحرارة و لوحة تجارب
تمّ ربط القطب الخاص بالإخراج معلومة بالمنفذ التماثلي و فولطمتر لقيس الجهد المتوفّر من حسّاس للحرارة كم هو مبيّن في الرسمة التاليّة

قيمة درجة الحرارة
توفّر لوحة أردوينو في المنفذ التماثلي من 0 إلى 1024 إذا تقبّل تيّار كهربائي من 0 إلى 5 فولط
نعتبر An قراءة متوفّرة من لوحة الأردوينو
لمعرفة قيمة الجهد بالفولط بالنسبة 1 تماثلي An*5/1024
كنقطة بداية بما أنّ الجهد في دراجة حرارة -40° تساوي 0.1 فولط
الجهد المتوفّر
(An*5/1024)-0.1
بما أنّ 0.01 فولط كل درجة
ما يعادلها
(An*5/1024-0.1)/0.01
ما يعادلها (An*5/1024-0.1)*100
بما أنّ أول دراجة حرارة -40° تساويC=-40+(An*5/1024-0.1)*100
كود البرنامج
int An;
float C;
void setup()
{
An = 0;
C = 0;
Serial.begin(9600);
}
void loop()
{
An = analogRead(A3);C=-40.0+(An*5.0/1023.0-0.1)100.0;
Serial.println(C);
delay(1000);
}
ملاحظة فقط
إن C عدد عشري وهذ العمليّة C=-40+(An*5/1024-0.1)*100 تحتوي على إعداد صحيحة (40-و5و1024و100) و هذه حسب لغة البرمجة لا تستقيم يجب تحويلها إلى أعداد عشرية و تصبح (40.0-و5.0و1024.0و100.0)
و تصبح على هذا الشكل
C=-40.0+(An*5.0/1023.0-0.1)*100.0;
هذا البرمجة السابقة تقيس درجة الحرارة ثم تظهر على شاشة الحاسوب قيمتها
شاهد هذا الفيديو
يمكنك مشاهدة التمرين على موقع Tinkercad
تمرين
إضافة للدارة السّابقة 4 صمامات مشعّة (أزرق و أخضر و برتقالي و أحمر) لقيس حرارة الطقس
صمام الأزرق (طقس بارد) يضيء فقط عندما تكون الحرارة أقل من 20°
صمام الأخضر(طقس معتدل) يضيء فقط عندما تكون الحرارة أكبر أو مساوية 20°وأقل من 30°
صمام البرتقالي(طقس حار) يضيء فقط عندما تكون الحرارة أكبر أو مساوية 30°وأقل من 40°
صمام الأحمر(طقس حار) يضيء فقط عندما تكون الحرارة أكبر أو مساوية 40°
في الدارة الكهربائيّة التالية إستعمنا
– منفذ رفم 8 للصمام الأزرق
– منفذ رفم 9 للصمام الأخضر
– منفذ رفم 10 للصمام البرتقالي
– منفذ رفم 11 للصمام الأحمر
و نفس المنفذ لإدخال المعلومة َ A3

البرمجة
و هذا كود البرمجة للتمرين
int An;
float C;
void setup()
{
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
An = 0;
C = 0;
Serial.begin(9600);
}
void loop()
{
An = analogRead(A3);
C=-40.0+(An5.0/1023.0-0.1)100.0;
Serial.println(C);
if (C< 20) {digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
else if(C>= 20 && C< 30 ){
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
} else if(C>= 30 && C< 40 ){
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
}else{
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
}
}
شرح للأكواد
int An;
تعيين متغيّر An كعدد صحيح
float C;
تعيين متغّرC من نوع عشري
void setup(){
بداية الإعدادات
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
تعيين المنفذ 8 و 9 و 10 و 11 منفذ رقمي لإخراج التيّار الكهربائي
An = 0;
تحديد An قيمته الأصليّة 0
C = 0;
تحديد C قيمته الأصليّة 0
Serial.begin(9600);
تهيئة لوحة أردوينة بإرسال معطيات للحاسوب على منفذ التسلسل
}
نهاية الإعدادات
void loop()
البرمجة الرئيسيّة وهي متكرّرة حسب سرعة أردوينو و البرنامج
{
بداية البرمجة
An = analogRead(A3);
تعيين قيمة An قيمة المنفذ التماثلي A3
C=-40.0+(An5.0/1023.0-0.1)*100.0;
إحتساب الحرارة وقع تفسيرها سابقا
Serial.println(C);
كتابة على شاشة الحاسوب قيمة الحرارة C
if (C< 20) {
إذا كانت C أصغر من 20 نفّذ
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
جعل المنفذ 8 (صمام مشع الأزرق) يحتوي على تيّار كهربائي و البقية المنافذ (8 و 9 و10و11) لا تحتوي
}
نهاية التنفيذ
else if(C>= 20 && C< 30 ){
و إذا كانت C أكبر أو يساوي 20 و أصغر من 30 نفّذ
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
جعل المنفذ 9 (صمام مشع الأخضر) يحتوي على تيّار كهربائي و البقية المنافذ (8 و10و11) لا تحتوي
}
نهاية التنفيذ
else if(C>= 30 && C< 40 ){
و إذا كانت C أكبر أو يساوي 30 و أصغر من 40 نفّذ
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
جعل المنفذ 10 (صمام مشع البرتقالي) يحتوي على تيّار كهربائي و البقية المنافذ (8 و 9 و11) لا تحتوي
}
نهاية التنفيذ
else{
إذا كانت الشروط السّابقة غير متوفّرة نفّذ هذه الأوامر
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
جعل المنفذ 11 (صمام مشع الأحمر) يحتوي على تيّار كهربائي و البقية المنافذ (8 و 9 و10) لا تحتوي
}
نهاية التنفيذ else
}
نهاية البرمجة
أكثر توضيح حول التمرين شاهد هذا الفيدية
أي إشكالات أو تساءل حول هذا الدرس الرجاء إضغط هنا
تمرين خاص
إنجاز دارة كهربائيّة تحتوي لوحة أردوينو و لوحة تجارب و مقاوم كربوني وحسّاس للحرارة و شاشة LCD و إضافات أخرى
ىتظهرعلى شاشة LCD قيمة الحرارة و إذا تجاوزت الحرارة أكثر من 100° يضئء الصمام المشع
أوّل من يرسل إنجازهذا التمرين صحيح سوف تنشر في هذه المقالة مع ذكر إسمه مع حسابه على الفيسبوك
للنشر التمارين