сайт для палких паяльників

Цифровой датчик атмосферного давления 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\n' % (temp,pressure))
    lcd.message('Altitude=%.2f' % (altitude))

    sleep(1)

Скачать пример: bmp180_wh1620.zip

rpi_bmp180_01 rpi_bmp180_02

Успехов.

Смотри также:
Translate
Архіви

© 2011-2017 Андрій Корягін, Кременчук - Київ, Україна