في هذا الدرس سوف نتعلم استخدام DS18B20 مع الراسبيري باي لقراءة درجة الحرارة باستخدام مكتبة W1ThermSensor.
الاصدارات الأخيرة من نظام Raspbian أضاف دعم لـحساس درجة الحرارة DS18B20 ، الحساس يأتي مع ثلاث أسلاك اثنان منها للطاقة و واحد للقراءة ، كما أنه حساس رقمي دقيق.
القطع
في هذا الدرس نحتاج للقطع التالية:
راسبيري باي
وصلة خارجية لتوصيل أرجل GPIO في لوحة الاختبار
أسلاك توصيل
لوحة الاختبار
حساس درجة الحرارة الرقمي DS18B20
مقاومة 10K
توصيل الأسلاك والقطع
التوصيل بكل بساطة موضح في الصور بالأسفل ، المقاومة مع الحساس ضرورية فهيه تستخدم كـ “pullup” لسلك البينات “القراءة” كما أنها تستخدم لتحافظ على ثبات انتقال البيانات.
ملاحظة: يجب مراعاة الدقة في تشبيك أسلاك الحساس كما هو موضح في الصور ، أي توصيل خاطئ قد يتلف الحساس.
الكود البرمجي
نحتاج إلى تثبيت مكتبة W1ThermSensor لتسهيل القراءة من الحساس ، كما أنها تدعم أنواع أخرى من حساسات الحرارة مثل:
– DS18S20
– DS1822
– DS18B20
– DS28EA00
– DS1825/MAX31850K
افتح نافذة SSH الخاصة بالراسبيري باي اكتب الأمر التالي لتثبيت المكتبة:
sudo apt-get install python-w1thermsensor
وإذا كنت تستخدم python3 اكتب الأمر التالي:
sudo apt-get install python3-w1thermsensor
بعد تثبيت المكتبة اكتب الأمر التالي لفتح ملف نصي جديد باسم temperature:
nano temperature.py
الآن انسخ الكود البرمجي التالي ثم قم بالضغط على CTRL+x ثم إضغط Y لحفظ الملف:
from w1thermsensor import W1ThermSensor import time sensor = W1ThermSensor() while True: temperature = sensor.get_temperature() print temperature time.sleep(1)
أخيرًا لتشغيل البرنامج قم بكتابة الأمر التالي:
sudo python temperature.py