تم استكشاف دارتين بسيطتين لمقياس درجة حرارة الأردوينو

جرب أداة القضاء على المشاكل





في هذه المقالة ، سنقوم ببناء دائرتين من دوائر قياس درجة الحرارة في Arduino السهلة والتي يمكن استخدامها أيضًا كمصباح LED دائرة ترمومتر الغرفة .

تم تصميم الدائرة لعرض القراءات في مصابيح LED المنقطة / الشريطية. يمكن تنفيذ هذا المشروع للتطبيقات التي تلعب فيها درجة الحرارة المحيطة دورًا مهمًا أو يمكن بناؤه كمشروع ممتع آخر لمنزلك.



1) استخدام DTH11 كمستشعر درجة الحرارة

القلب والدماغ لمشروع مقياس درجة الحرارة الأول هو مستشعر DTH11 و Arduino على التوالي. سنقوم باستخراج بيانات درجة الحرارة فقط من المستشعر.

سيقوم اردوينو باستنتاج البيانات وتحديث درجة الحرارة المعروضة كل بضع ثوان.



سنتخذ 12 قرارًا من جهاز استشعار درجة الحرارة بعبارة أخرى ، سنأخذ نطاق درجة الحرارة حيث تختلف درجة الحرارة المحيطة عادةً.

إذا كنت ترغب في إضافة المزيد من الدقة / مصابيح LED ، فستحتاج إلى اردوينو ميجا للاستفادة من طيف درجة الحرارة الكامل للمستشعر مع البرنامج المعدل.

DTH11 كمستشعر درجة الحرارة

قد يتم اعتماد التخطيط الموضح أعلاه للحصول على أفضل بحث عن الإعداد الخاص بك.

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

إذا كان نطاق درجة الحرارة أقل من قيمة العتبة التي أدخلها المستخدم ، فلن يتوهج أي LED وإذا تجاوزت درجة الحرارة النطاق الأقصى (الحد الأدنى + 11) سيتوهج كل مؤشر LED.

إذا كانت هناك أي مشكلات في اتصال المستشعر ، فسيومض كل مؤشر LED كل ثانية في نفس الوقت.

التصميم:

إن الأسلاك الدائرية لمقياس درجة حرارة Arduino LED بسيطة للغاية ، وهي عبارة عن سلسلة من LED متصلة بمسامير GPIO تتراوح من 2 إلى 13 مع مقاومات محدودة للتيار ، ومستشعر DHT11 متصل بمنافذ الإدخال / الإخراج التناظرية ، والتي تمت برمجتها لتوفير مصدر الطاقة للمستشعر وكذلك قراءة البيانات.

دائرة ترمومتر غرفة LED

وبالتالي ، فإن إعداد دائرة ميزان الحرارة LED الخاص بك مكتمل وجاهز لتحميل الكود. يوصى دائمًا باختبار الدائرة على لوح الخبز قبل جعلها دائمة.

نصيحة: استخدم لون LED مختلف للإشارة إلى نطاقات درجات حرارة مختلفة. يمكنك استخدام مصابيح LED زرقاء لنطاق درجة حرارة أقل ، أو خضراء أو صفراء لنطاق درجة حرارة متوسطة ، ومصابيح حمراء لدرجات حرارة أعلى. هذا سيجعل أكثر جاذبية.

النموذج الأولي للمؤلف:

نموذج العمل لدائرة ترمومتر غرفة LED

ملاحظة: البرنامج التالي متوافق فقط مع مستشعر DHT11.

قبل المتابعة ، يرجى التأكد من تنزيل ملف المكتبة من الرابط التالي:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

كود البرنامج:

//-------Program developed by R.Girish------//
#include
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int p=A0
int data=A1
int n=A2
int ack
dht DHT
int temp=25 // set temperature range.
void setup()
{
Serial.begin(9600) // may be removed after testing.
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
digitalWrite(p,HIGH)
digitalWrite(n,LOW)
}
void loop()
{
// may be removed after testing.
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
//till here
ack=0
int chk = DHT.read11(data)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if (ack==0)
{
if(DHT.temperature>=temp)digitalWrite(a,HIGH)
if(DHT.temperature>=temp+1)digitalWrite(b,HIGH)
if(DHT.temperature>=temp+2)digitalWrite(c,HIGH)
if(DHT.temperature>=temp+3)digitalWrite(d,HIGH)
if(DHT.temperature>=temp+4)digitalWrite(e,HIGH)
if(DHT.temperature>=temp+5)digitalWrite(f,HIGH)
if(DHT.temperature>=temp+6)digitalWrite(g,HIGH)
if(DHT.temperature>=temp+7)digitalWrite(h,HIGH)
if(DHT.temperature>=temp+8)digitalWrite(i,HIGH)
if(DHT.temperature>=temp+9)digitalWrite(j,HIGH)
if(DHT.temperature>=temp+10)digitalWrite(k,HIGH)
if(DHT.temperature>=temp+11)digitalWrite(l,HIGH)
delay(2000)
goto refresh
}
if (ack==1)
{
// This may be removed after testing.
Serial.print('NO DATA')
Serial.print(' ')
// till here
delay(500)
digitalWrite(a,1)
digitalWrite(b,1)
digitalWrite(c,1)
digitalWrite(d,1)
digitalWrite(e,1)
digitalWrite(f,1)
digitalWrite(g,1)
digitalWrite(h,1)
digitalWrite(i,1)
digitalWrite(j,1)
digitalWrite(k,1)
digitalWrite(l,1)
refresh:
delay(500)
digitalWrite(a,0)
digitalWrite(b,0)
digitalWrite(c,0)
digitalWrite(d,0)
digitalWrite(e,0)
digitalWrite(f,0)
digitalWrite(g,0)
digitalWrite(h,0)
digitalWrite(i,0)
digitalWrite(j,0)
digitalWrite(k,0)
digitalWrite(l,0)
}
}
//-------Program developed by R.Girish------//

ملاحظة 1:

في برنامج:

int temp = 25 // ضبط نطاق درجة الحرارة.
استبدل '25' بأدنى درجة حرارة محيطة واجهتها في الماضي بمقاييس حرارة أخرى أو توقع قيمة تقريبية.
ملاحظة 2: يرجى التحقق من قراءات درجة الحرارة من الشاشة التسلسلية وإعداد LED.

2) مقياس درجة حرارة اردوينو باستخدام DS18B20

في هذا التصميم الثاني ، نتعلم مستشعر درجة حرارة Arduino آخر بسيط ولكنه دقيق للغاية مع دائرة مؤشر ، باستخدام وحدة قراءة شاشة LCD رقمية متقدمة.

وحدة قراءة شاشة LCD الرقمية.

لا يوجد في الواقع شيء يمكن شرحه كثيرًا في هذا التكوين ، نظرًا لأن كل شيء يعتمد على الوحدة ويتطلب ببساطة التثبيت أو التوصيل مع بعضهما البعض من خلال المقابس والموصلات الأنثوية المعروضة.

الأجهزة المطلوبة

هناك حاجة إلى أربع مواد أساسية لإنشاء دائرة قياس درجة حرارة Arduino LCD الدقيقة ، والتي يمكن دراستها على النحو الوارد أدناه:

1) لوحة Arduino UNO

2) أ وحدة LCD متوافقة

3) شريحة مستشعر درجة الحرارة التناظرية ، مثل DS18B20 أو الخاصة بنا LM35 إيك .

مواصفات ميزان الحرارة الرقمي DS18B20

DS18B20 مقياس حرارة رقمى يضمن مواصفات درجة حرارة من 9 بت إلى 12 بت مئوية ويحمل ميزة إنذار مع عناصر تنشيط أعلى وأقل قابلة للبرمجة للمستهلك غير المتطاير. يتصل DS18B20 عبر ناقل سلكي واحد يتطلب من خلال الوصف خط بيانات واحدًا (وأرضيًا) للاتصال بمعالج دقيق رئيسي.

يتضمن نطاق درجة حرارة العمل من -55 درجة مئوية إلى + 125 درجة مئوية والتي تكون دقيقة لـ ± 0.5 درجة مئوية على مجموعة متنوعة من -10 درجة مئوية إلى + 85 درجة مئوية.

إلى جانب ذلك ، يتم تمكين DS18B20 للحصول على الطاقة مباشرة من خط البيانات ('قوة الطفيليات') ، والتخلص من ضرورة
rel = ' لا اتباع مصدر طاقة خارجي.

يحمل كل DS18B20 رمز تسلسلي مميز 64 بت ، مما يسمح DS18B20s متعددة بالعمل على نفس ناقل السلك 1. وبالتالي ، فهو سهل الاستخدام وغير معقد سوى معالج دقيق واحد لإدارة الأحمال المرتبطة بـ DS18B20s التي يتم إطلاقها في موقع واسع الانتشار.

تتضمن البرامج التي يمكن أن تستفيد بسهولة من هذه السمة التكوينات البيئية للتدفئة والتهوية وتكييف الهواء وأجهزة مراقبة درجة الحرارة داخل المؤسسات أو الأجهزة أو الأدوات وأنظمة الإشراف والتنظيم العملية.

تفاصيل Pinout

مواصفات ميزان الحرارة الرقمي DS18B20

4) محول 9 فولت ، 1 أمبير تيار متردد إلى تيار مستمر

الآن يتعلق الأمر فقط بدفع الموصلات مع بعضها البعض ، وقم ببعض الإعداد من خلال أزرار ضغط LCD ، وستحصل على مقياس درجة حرارة LCD رقمي دقيق كامل تحت تصرفك.

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

كيفية ربط مقياس درجة حرارة اردوينو

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

ولكن قبل تنفيذ الإعداد أعلاه ، ستحتاج إلى برمجة لوحة Arduino باستخدام نموذج التعليمات البرمجية التالي.

كياسة : dfrobot.com/wiki/index.php؟title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




السابق: تشغيل / إيقاف تشغيل حملين بديلين باستخدام IC 555 التالي: SPDT Relay Switch Circuit باستخدام Triac