Датчик давления BMP-280 на raspberry pi

Может работать как по I2C так и по протоколу SPI. В моём случае, я подключил по I2C.

Схема подключения:

BMP280 PinRaspberry Pi Pin
VCC3.3V (Pin 1)
GNDGround (Pin 6)
SDASDA (Pin 3, GPIO2)
SCLSCL (Pin 5, GPIO3)

Далее необходимо зайти в raspi-config и включить интерфейс i2c. После чего понадобится малинку перазагрузить. После перезагрузки можно посмотреть, определяется ли она:

i2cdetect -y 1

Должно появиться что-то вроде:

Иногда садится на 77 порт, но чаще на 76. Далее необходимо установить библиотеки:

sudo apt install -y python3-smbus python3-spidev python3-pip
pip3 install adafruit-circuitpython-bmp280

Минимальный код для проверки работоспособности:

#!/usr/bin/env python3
import board
import busio
import adafruit_bmp280
import time
import datetime
import requests
import json
import threading

# Create sensor object using the I2C port
i2c = busio.I2C(board.SCL,board.SDA)
sensor = adafruit_bmp280.Adafruit_BMP280_I2C(i2c, address = 0x76)


while True:
    print("\nTemperature: %0.1f C" % sensor.temperature)
    print("Pressure: %0.1f hPa" % sensor.pressure)
    mmHg = sensor.pressure * 0.75006
    print("Pressure: %0.1f mmHg" % mmHg)
    print("Altitude: %0.2f meters" % sensor.altitude)
    print("Sea Level Pressure: %0.1f hPa " % sensor.sea_level_pressure)
    print(datetime.datetime.now())
    time.sleep(10)

У меня выводит что-то подобное:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.