پروژه راه اندازی سنسور فشار BMP180 با استفاده از Raspberry Pi به زبان پایتون

 پروژه راه اندازی سنسور فشار  BMP180 با استفاده از Raspberry Pi به زبان پایتون

راهنمای راه اندازی سنسور فشار BMP180 با استفاده از Raspberry Pi به زبان پایتون

هدف از این آموزش راه اندازی I2C BUS  رسپبری پای به زبان پایتون میباشد    ( شما می توانید سنسور های مشابه که خروجی I2C دارند را به این روش راه اندازی نمایید )

راه اندازی سنسور فشارBMP18

لوازم مورد نیاز

  1. رزبری پای (رزبری پای مورد استفاده در این اموزش Raspberry Pi3 model B می باشد.)
  2. سنسور BMP180
  3. برد بورد
  4. سیم برد بورد

سنسور BMP180

 

BMP180 يك سنسور فشار بارومتريك با دقت بالا و جريان مصرفي پايين بوده که ميتواند فشار بين 300 تا 1100 هكتوپاسكال را با دقت مطلق 0.03 هكتوپاسكال اندازه گيري نمايد(هر هكتوپاسكال معادل 100 پاسكال است.) سنسور BMP180 بر اساس تكنولوژي مقاومت پيزوالكتريك يا Piezo-resistive طراحي و توليد شده است.
ولتاژ تغذيه سنسور بين 1.8 تا 3.6 ولت بوده و خروجي سنسور بصورت ديجيتال و با رابط I2C است و شما به راحتی می توانید تنها با دو سیم با برد رزبری پایارتباط برقرار کنید.

تعریف پایه های سنسورBMP180

برای آسانتر شدن اتصال سخت افزاری سنسور ترتیب پایه ها را ملاحظه میکنید:

ماژول سنسور فشارBMP180

نحوه اتصال بین سنسور BMP180و رزبری پای

محصول همانند تصویر زیر برای اتصال سنسور BMP 180  و  رزبری پای مراحل زیر را دنبال می کنیم:

  1. اتصال پین مثبت سنسور به پین 3.3ولت برد رزبری پای (سیم قرمز)
  2. اتصال پین منفی سنسور به پین GND برد رزبری پای (سیم مشکی)
  3. اتصال پین دیتا سنسور به پین SDA رزبری پای(سیم ابی)
  4. اتصال پین کلاک سنسور به پین SCL رزبری پای(سیم نارنجی)
سنسور فشارBMP180

آماده سازی نرم افزاری Raspberry Pi

قبل از اسکریپت نویسی پایتون برای سنسور BMP180 ابتدا باید از اپدیت بودن رزبری پای مورد استفاده مطمین شویم.بدین منظور پنجره CommandLine را باز کرده و دستورات زیر را جهت اپدیت سیستم عامل و نصب آن وارد می کنیم:

sudo apt-get update

sudo apt-get upgrade

در ادامه بعد از به روز رسانی و نصب ان باید python و (پکیج های کتابخانه استاندارد پایتون)pip را بر روی رزبری پای خود نصب کنیم.بدین منظور دستور زیر را در CommandLine وارد می کنیم:

sudo apt-get install python-dev python-pip

حال قبل از دانلود کتابخانه BMP180 با وارد کردن دستور زیر در CommandLine از نصب بودم اخرین نسخه پکیج های  setuptools, wheel و pip مطمئن میشویم:

sudo python -m pip install –upgrade pip setuptools wheel

اکنون با استقاده از دستور زیر برسی کرده که ایا برد رزبری پای سنسور BMP180 را می شناسد یا خیر:

sudo i2cdetect -y 1

در صورت مواجهه با Error دستور زیر را وارد کنید:

sudo i2cdetect -y 0

که بعد از شناسایی ماژول پاسخ زیر را در پنجره CLW مشاهده می کنید:

Capture

حال با استفاده از دستور زیر پکیج I2C  را برای رزبری دانلود کرده:

sudo apt-get install git build-essential python-dev python-smbus

در پایان کتابخانه پایتون BMP180 را دانلود می کنیم:

git clone https://github.com/adafruit/Adafruit_Python_BMP.git

و سپس نصب کتابخانه:

cd Adafruit_Python_BMP
sudo python setup.py install

  برنامه نویسی پایتون برای سنسور BMP180

ابتدا با وارد کردن دستور زیر یک اسکریپت پایتون برای کدنویسی ایجاد می کنیم:

nano ~/BMP180.py

سپس بعد از وارد شدن به اسکریپت پایتون ، ابتدا کتابخانه مربوط به سنسور را با دستور زیر اضافه می کنیم :

import Adafruit_BMP.BMP085 as BMP085

با استفاده از این کتابخانه به راحتی می توانیم با سنسور ارتباط برقرار کرده و به راحتی فشار را دریافت می کنیم با کد زیر یک ثابت (Constant) را برای بهره گیری از کتابخانه سنسور مربوطه تعریف میکنیم:

()sensor = BMP085.BMP085

در پایان نحوه خروجی کد را با کد زیر مشخص می کنیم:

print ‘Temp = {0:0.2f} *C’.format(sensor.read_temperature()) # Temperature in Celcius
print ‘Pressure = {0:0.2f} Pa’.format(sensor.read_pressure()) # The local pressure

{lcd.message(“Temp={0:0.1f}*C  Pressure ={1:0.1f

((()format(sensor.read_temperature(), sensor.read_pressure.”%

 

برنامه کامل پایتون :

import time

import Adafruit_CharLCD as LCD

import Adafruit_BMP.BMP085 as BMP085

Raspberry Pi pin setup #

()sensor = BMP085.BMP085

lcd_rs = 25

lcd_en = 24

lcd_d4 = 23

lcd_d5 = 17

lcd_d6 = 18

lcd_d7 = 22

lcd_backlight = 2

.Define LCD column and row size for 16×2 LCD#

lcd_columns  = 16

lcd_rows = 2

:while True

print ‘Temp = {0:0.2f} *C’.format(sensor.read_temperature()) # Temperature in Celcius
print ‘Pressure = {0:0.2f} Pa’.format(sensor.read_pressure()) # The local pressure

{lcd.message(“Temp={0:0.1f}*C  Pressure ={1:0.1f

((()format(sensor.read_temperature(), sensor.read_pressure.”%

در پایان با اتمام نوشتن کد بالا و فشار دادن کلید های CTRL + X و سپس Y (در انتها زدن کلید Enter) اقدام به ذخیره اسکریپت نوشته شده کرده و با وارد کردن دستور زیر در پتجره CommandLine ان را اجرا می کنیم:

python ~/BMP180.py

 

 

zahra_ahmadi

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سه × 2 =