مقارنةً مع حسّاس dht11 /dht22 الذي يمكننا من تحسّس الحرارة والرطوبة، فإن حسّاس الضّغط bmp180 يقيس بالإضافة للحرارة ضغطَ الهواء، وهذا ما يتفرّد به عن بقيّة الحسّاسات الأخرى.
الإضافات:
• حسّاس ضغط الهواء .BMP180
• كبل مطّاط مؤنث-مؤنث.
• لوحة اختبار.
التّركيب:
تختلف طريقة التّوصيل تبعاً للنّسخة المستخدمة وإلى أي شركة تنتمي، لذلك سنحاول إعطاء وصفٍ عام، حيث نحتاج فقط لأربعة أرجلٍ من الراسبيري باي هي: .3V3, GND, data line SDA, clock SCL
الحساس | الراسبيري باي |
---|---|
VCC | (3V3 (Pin 1 |
GND | (GND (Pin 6 |
SCL | (SCL (pin 5 |
SDA | (SDA (Pin 3 |
يبيّن الشّكل أرجل الراسبيري باي:
تفعيلI²C
بما أنّ الحسّاس يعمل باستخدام برتوكول I2C، فلابدّ من تفعيله لأنّه يكون غير مفعّلٍ بشكلٍ افتراضيٍّ
أولا: نعدّل الملفّ التاّلي:
sudo nano /etc/modules
ونضيف في نهاية الملفّ هذين السّطرين:
i2c-bcm2708 i2c-dev
نحفظ الملف ونغلقه عبر CTRL + O و CTRL + X
من الممكن أن لا يتواجد الملفّ في بعض النّسخ، لذا قم بالانتقال للأمر التّالي:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
يمكن استخدام رمز المربّع (#) للتّعليق عند المدخلات الموافقة.
#blacklist spi-bcm2708 #blacklist i2c-bcm2708
تتطلّب إصدارات Raspbian منذ عام 2015 تنشيط الDevietree ، ويمكن ذلك عبر الإعداد:
sudo raspi-config
قم بتنشيط التّحميل التلقائي لمنفذ I2c ضمن الخيارات المتقدّمة، ثم أعد تشغيل الراسبيري باي
نحمّل الآن ثلاثة أدواتٍ إضافيّة:
sudo apt-get install python-smbus i2c-tools git
ثمّ عن طريق:
i2cdetect -y 1
اختبار إذا كان كلّ شيءٍ يعمل بشكلٍ جيّدٍ، فيجب أن يظهر على شاشة العرض بالشكل التالي:
pi@raspberrypi ~ $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- 77
برمجة BMP180
يُعتبر استخدام مكتبةٍ تحتوي كل التّوابع اللازمة مثل مكتبة Adafruit أسهل طريقةٍ في التّعامل مع هذا الحسّاس.
ننسخ محتويات مكتبة Adafruit (يجب تحميلها عبر GITHUB )
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git cd Adafruit-Raspberry-Pi-Python-Code/ git checkout 9ff733d59242a02f7ccd0222001ce80f6090a978 cd Adafruit_BMP085
ثمّ نقوم بأوّل اختبارٍ:
sudo python Adafruit_BMP085_example.py
نتيجة هذا الكود تشبه التّالي:
Temperature: 25.70 C Pressure: 1007.08 hPa Altitude: 50.83
يمكن بالتّأكيد دمج الملفّ ضمن مشروع آخر، وننسخ الملفّ لتضمينه فقط ونعدّل فقط ما يُدعى Adafruit_BMP085_example.py كالتّالي:
يمكنك اختيار أوضاع عملٍ مختلفةٍ كوضع توفير الطاقة وغيره، ويمكنك التّعديل كما يحلو لك.