پروژه های رزبری پای, پروژه‌ها

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

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

فهرست مطالب

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

قطعات مورد نیاز

  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 و رزبری پای

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

  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 مشاهده می‌کنید:

حال با استفاده از دستور زیر پکیج 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 16x2 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
				
			

نظرتان را درباره این مقاله بگویید 0 نظر

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

دیدگاهتان را بنویسید

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