يعد حسّاس الحرارة من الطّراز DS18B20 حسّاساً رقميّاً يعمل بسلك توصيلٍ واحدٍ، وبالتّالي يمكّنُنا من أخذ قراءاتِ الحرارة باستخدام دارةٍ بسيطة، ويتمّ توصيل الحسّاس عن طريق النّاقل العام common bus، وهو ما يعني أنّه يمكنك أن تقوم بتوصيل عدّة حسّاسات وأخذ القراءات منها باستخدام مدخلٍ واحدٍ على لوحة الأردوينو.
وكما يتوضّح في الشّكل، يوجد على الحسّاس ثلاثة أقطابٍ فقط:
حسّاس الحرارة DS18B20
حسّاس الحرارة DS18B20

كما يوجد من هذا الحسّاس نسخة مضادّة للمياه

النسخة المضادّة للمياه من حسّاس الحرارة DS18B20
النسخة المضادّة للمياه من حسّاس الحرارة DS18B20

خصائص الحسّاس

نورد هنا بعض الخصائص الأساسيّة لحسّاس الحرارة DS18B20 :

  1. يتواصل مع الأردوينو من خلال سلكٍ واحد.
  2. يعمل في مدى حراري: من -55°C حتى 125°C.
  3. دقّة القراءة: +/- 0.5°C (في المدى -10°C حتى 85°C)

حسّاس الحرارة من الطّراز DS18B20 مع الأردوينو

في هذا المثال سنقوم بأخذ قراءاتٍ لدرجة الحرارة باستخدام حسّاس الحرارة DS18B20 مع الأردوينو، وسيتمّ عرضالقراءات على واجهة العرض التسلسليّة.
نحتاج المكوّنات التالية في هذا المثال:
  1. أردوينو UNO.
  2. حسّاس الحرارة DS18B20.
  3. لوحة توصيل.
  4. مقاومة 4.7kΩ.
  5. أسلاك توصيل.

مخطّط التوصيل:

يمكن أن يعمل الحسّاس في وضعي تشغيلٍ مختلفَين:
1. الوضع الطّبيعي (Normal Mode): نحتاج إلى توصيل الحسّاس بثلاثة أسلاك، كما هو موضح في الشكل (3):

الوضع الطّبيعي لعمل الحسّاس
الوضع الطّبيعي لعمل الحسّاس

2. وضع التطفّل (Parasite Mode): يحتاج إلى سلكَي توصيلٍ فقط، سلك البيانات وسلك الأرضيّ، وهنا يعتمد
الحسّاس على سلك البيانات في الحصول على الطّاقة. يتمّ التوصيل في هذه الحالة كما في الشكل (4):

وضع التطفّل لعمل الحسّاس
وضع التطفّل لعمل الحسّاس

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

الكود البرمجي

يجب تنصيب مكتبتين هما OneWire Library و DallasTemperature Library.

أولاً:

تنصيب مكتبة OneWire Library:
1- حمِّلْ المكتبة كملفٍّ مضغوطٍ بصيغة (.zip) من الرّابط التّالي : هنا

2- فُكَّ ضغط الملفّ وعندها ستحصل على مجلّدٍ بالاسم:”OneWire-master”.
3- أعد تسمية المجلّد إلى:”OneWire”
4- انقل المجلّد إلى مجلّد “libraries” الموجود في مجلّد تنصيب تطبيق الأردوينو.
5- أعد تشغيل تطبيق الأردوينو.

ثانياً:

تنصيب مكتبة DallasTemperature Library.
1- حمِّل المكتبة كملفٍّ مضغوطٍ بصيغة (.zip) من الرّابط التالي : هنا

2- فُكَّ ضغط الملفّ وعندها ستحصل على مجلّد بالاسم: “Arduino-Temperature-Control-Library-master”.
3- أعد تسمية المجلّد إلى: “DallasTemperature”.

4- انقل المجلد إلى مجلّد “libraries” الموجود في مجلّد تنصيب تطبيق الأردوينو.
5- وأخيراً أعدْ تشغيل تطبيق الأردوينو.
وبعد تنصيب المكتبتين قُمْ برفع الكود البرمجيّ التّالي إلى الأردوينو.

الكود البرمجي: للتحميل اضغط هنا

بعد ذلك قُمْ بفتح واجهة العرض التسلسلية للآردوينو بمعدّل سرعة نقلٍ 9600، وسترى الحرارة مقاسةً بالدّرجة المئويّة وبالفهرنهايت.

واجهة العرض التسلسلية للآردوينو
واجهة العرض التسلسلية للآردوينو

 

الخاتمة

يُعتبر حسّاس الحرارة DS18B20 مفيداً جداً، فهو يسمح بأخذ قراءاتٍ لدرجة الحرارة مقاسةً بالدّرجة المئويّة والفهرنهايت باستخدام سلك توصيلٍ واحٍد فقط، وهو ما يسمح بأخذ قراءاتٍ من عدّة حسّاساتٍ دون الحاجة إلى زيادة التوصيلات إلى الأردوينو.


المصدر: هنا
ترجمة:لؤي ديب, مراجعة:محمد مرتكوش, تدقيق لغوي:مي همدر, تصميم:علي العلي, تحرير:قحطان غانم.