BMP180 + Raspberry Pi + WH1602


09.01.2015

BMP180 + Raspberry Pi + WH1602
(на русском языке)

Цифровий датчик атмосферного тиску BMP180 має інтерфейс I2C. Його легко підключити до Raspberry Pi. Використовується у таких пристроях, як барометри, погодні станції, альтиметри (висотоміри), варіометри, тощо. Я писав про використання BMP180 та BMP085 з мікроконтролерами Atmega. Щодо I2C та Raspberry Pi детально описано у статті: Raspberry-Pi — I2C (TWI)

Схема підключення BMP180 до Raspberry Pi

rpi_bmp180 rpi_bmp180_03

Вмикаємо I2C

Для включення I2C шини на Raspberry Pi потрібно виконати операції, що описані нижче.

Відредагуємо файл: /etc/modprobe.d/raspi-blacklist.conf:


nano /etc/modprobe.d/raspi-blacklist.conf

Закоментуємо рядок blacklist i2c-bcm2708. Приклад вмісту файлу:


#blacklist spi-bcm2708
#blacklist i2c-bcm2708

Коригуємо файл /etc/modules:


sudo nano /etc/modules

Додаємо рядки:

i2c-bcm2708
i2c-dev

Встановлюємо i2c-tools утиліти:


sudo apt-get install python-smbus i2c-tools

Перезавантажуємо Raspberry Pi:


reboot

Після перезавантаження можемо переглянути всі підключені прилади до шин I2C:


sudo 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 займає адресу 77.

Встановимо бібліотеку для Python


cd /root
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git

Тепер запустимо приклад:


cd Adafruit-Raspberry-Pi-Python-Code/Adafruit_BMP085
./Adafruit_BMP085_example.py
Temperature: 30.10 C
Pressure:    1010.45 hPa
Altitude:    23.92
Ви мабуть звернули увагу, що в імені скрипта присутня назва іншого датчика - BMP085. Справа у тому, що BMP085 та BMP180 дуже схожі і алгоритми роботи з цими датчиками - ідентичні.

Приклад альтиметра з дисплеєм WH1602

Схема підключення дисплея така, як зазначена у статті Raspberry Pi — LCD display 1602

Текст програми на Python:


#!/usr/bin/python

from Adafruit_CharLCD import Adafruit_CharLCD
from time import sleep, strftime
from Adafruit_BMP085 import BMP085

lcd = Adafruit_CharLCD()
bmp = BMP085(0x77)

lcd.clear()

while 1:
    lcd.home()
    temp = bmp.readTemperature()
    pressure = bmp.readPressure()
    altitude = bmp.readAltitude()

    lcd.message(`t=%d P=%d` % (temp,pressure))
    lcd.message(`Altitude=%.2f` % (altitude))

    sleep(1)

Скачати приклад bmp180_wh1620.zip

rpi_bmp180_01 rpi_bmp180_02

Успіхів.

Дивись також:

Raspberry Pi Схеми і прошивки
Коментарі:

Додати коментар

* - обов'язкові поля

Архіви