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 — PWM і Сервопривод
- Raspberry Pi — DHT11
- Raspberry Pi - FM Transmitter
- Прошивка AVR мікроконтролерів за допомогою Raspberry Pi
- Raspberry Pi — LCD display 1602
- Raspberry Pi — WiFi
- 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 без клавіатури та монітору
- IR-дистанційне керування. Використання LIRC у Python
- Raspberry Pi. Raspbian. Відправлення пошти через аккаунт Gmail
- Neoway M590 – GSM/GPRS modem
- MPU-6050 – гіроскоп – акселерометр
- HMC5883L Магнітометр
- PWM контролер з інтерфейсом I2С на базі мікросхеми PCA9685
- Метеостанція на Raspberry Pi своїми руками
- Raspberry Pi. Live-stream video
Tags
web java-script bmp280 adc bldc stm32 rs-232 programmator 3d-printer flash pwm sms motor docker raspberry-pi meteo gps ngnix bme280 timer ssd1331 mpu-6050 bkp battery rfid st-link tim mpx4115a ssd1306 encoder atmega pmsm wifi options rtc examples nvic soldering mongodb esp8266 books lcd foc flask barometer bluetooth ethernet brushless uart watchdog servo gpio solar git remap dma usart eb-500 smd nodemcu sensors displays html python capture dht11 led i2c eeprom piezo exti websocket max1674 usb dc-dc avr hih-4000 css mpu-9250
Архіви

