BMP180 + Raspberry Pi + WH1602
Цифровой датчик атмосферного давления BMP180 имеет интерфейс I2C. Его легко подключить к Raspberry Pi. Используется в таких устройствах, как барометры, погодные станции, альтиметры (высотомеры), вариометры, и тому подобное. Я писал об использовании BMP180 и BMP085 с микроконтроллерами Atmega. О I2C и Raspberry Pi подробно описано в статье: Raspberry-Pi - I2C (TWI)
Схема подключения BMP180 к Raspberry Pi


Включаем 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: -- -- -- -- -- -- -- 77BMP180 занимает адрес 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
Успехов.
Смотри также:
- Raspberry Pi — Что это такое?
- Raspberry Pi — GPIO
- Raspberry Pi — UART
- Raspberry Pi — FT232
- Raspberry Pi — ШИМ и Сервопривод
- Raspberry Pi — DHT11
- Raspberry Pi - FM Transmitter
- Прошивка AVR микроконтроллеров с помощью Raspberry Pi
- Raspberry Pi — LCD дисплей 1602
- Raspberry Pi — Wi-Fi
- Raspberry-Pi — I2C (TWI)
- Raspberry Pi - DS18B20
- Raspberry Pi Camera
- nRF24L01+ ATMEGA + Raspberry Pi
- BMP180 + Raspberry Pi + WH1602
- Wi-Fi Метео станция
- Raspbian. Apache + PHP + Python + MySQL
- Устанавливаем Raspbian на Raspberry Pi без клавиатуры и монитора
- ИК-дистанционное управление. Использование LIRC в Python
- Raspberry Pi. Raspbian. Отправка почты через аккаунт Gmail
- Neoway M590 – GSM/GPRS modem
- MPU-6050 – гироскоп – акселерометр
- HMC5883L Магнитометер
- PWM контролер на базе микросхемы PCA9685
- Метеостанция на Raspberry Pi своими руками
- Raspberry Pi. Live-stream video
Додати коментар
Недавні записи
- 🇺🇦 FOC Board STM32F103RB 🧩
- STM32 Motor control SDK - керування оборотами мотора за допомогою потенціометра 📑
- Flask✙Gunicorn✙Nginx➭😎
- STM32 Motor control SDK - програмне керування обертам мотора
- STM32 Motor control SDK - як створити перший проект
- Vue SVG. Приклад побудови живого параметричного креслення
- Вимірювання моменту мотора
- Vue SVG - компонент. Приклад 📑
- Flask + Vue 🏁 Финальный пример 🏁
- Flask, CORS, JSON-файл. Пример#6
Tags
bldc brushless stm32 motor web html css flask atmega foc git java-script pmsm raspberry-pi python websocket mongodb esp8266 nodemcu st-link tim timer docker ngnix programmator ssd1331 ssd1306 wifi uart meteo bme280 bmp280 i2c gps mpu-6050 mpu-9250 sensors 3d-printer options usb barometer remap watchdog flash eeprom rtc bkp encoder pwm servo capture examples dma adc nvic usart gpio books battery dc-dc sms max1674 avr lcd dht11 piezo rs-232 rfid solar exti bluetooth eb-500 displays ethernet led smd soldering mpx4115a hih-4000
Архіви