O BMP280 é a Pressão barométrica e sensor de temperatura Isso fornece leituras precisas de pressão atmosférica e temperatura. É comumente usado para Monitoramento climático, rastreamento de altitude e detecção ambiental. Este guia o levará a configurar e usar o BMP280 com um Raspberry Pi usando Comunicação Python e I2C/SPI.
O que você precisará
- Raspberry Pi (Qualquer modelo com suporte GPIO, por exemplo, PI 3, PI 4)
- Módulo do sensor BMP280
- Fios de pão e jumper
- Python instalado No Raspberry Pi
Etapa 1: Fiação do BMP280 para o Raspberry Pi
O BMP280 suporta a comunicação I2C e SPI.
Para o modo i2c (recomendado)
Pino BMP280 | Pino de framboesa pi |
---|---|
VCC | 3.3V (pino 1) |
Gnd | Terra (pino 6) |
SDA | SDA (pino 3, gpio2) |
SCL | SCL (pino 5, gpio3) |
Para o modo SPI
Pino BMP280 | Pino de framboesa pi |
---|---|
VCC | 3.3V (pino 1) |
Gnd | Terra (pino 6) |
Sck | SCLK (PIN 23, GPIO11) |
SDI | Mosi (pino 19, gpio10) |
Sdo | Miso (pino 21, gpio9) |
Cs | CE0 (pino 24, gpio8) |
Observação: O BMP280 opera em 3.3V. Não Conecte -o a 5V, pois pode danificar o módulo.
Etapa 2: Ativar I2C ou SPI no Raspberry Pi
Para a comunicação I2C
- Abra a ferramenta de configuração do Raspberry Pi:
sudo raspi-config
- Navegar para Opções de interface> i2c e ativá -lo.
- Reinicie o Raspberry Pi:
sudo reboot
- Verifique se o BMP280 é detectado No ônibus i2C:
O BMP280 deve aparecer no endereçosudo i2cdetect -y 1
0x76
ou0x77
.
Para comunicação SPI
- Ativar SPI usando:
sudo raspi-config
- Navegar para Opções de interface> SPI e ativá -lo.
- Reinicie o Raspberry Pi:
sudo reboot
- Verifique a interface SPI usando:
Você deveria verls /dev/spidev*
/dev/spidev0.0
e/dev/spidev0.1
.
Etapa 3: Instale as bibliotecas necessárias
- Atualize a lista de pacotes do Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Instale o necessário Ferramentas I2C/SPI e Bibliotecas Python:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
Etapa 4: Lendo dados do BMP280
Código Python para o modo I2C
import time
import board
import busio
import adafruit_bmp280
# Initialize I2C bus and BMP280 sensor
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
# Set sea level pressure (optional, for altitude calculations)
bmp280.sea_level_pressure = 1013.25
try:
while True:
print(f"Temperature: {bmp280.temperature:.2f} °C")
print(f"Pressure: {bmp280.pressure:.2f} hPa")
print(f"Altitude: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Exiting...")
Código Python para o modo SPI
import time
import board
import busio
import digitalio
import adafruit_bmp280
# Initialize SPI bus and BMP280 sensor
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs = digitalio.DigitalInOut(board.D8) # Use GPIO8 (Pin 24) for CS
bmp280 = adafruit_bmp280.Adafruit_BMP280_SPI(spi, cs)
try:
while True:
print(f"Temperature: {bmp280.temperature:.2f} °C")
print(f"Pressure: {bmp280.pressure:.2f} hPa")
print(f"Altitude: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Exiting...")
Etapa 5: Aplicações de BMP280 com Raspberry Pi
- Monitoramento climático -Colete dados de temperatura e pressão para análise climática em tempo real.
- Medição de altitude - Use dados de pressão para estimar alterações de altitude.
- Projetos de IoT - Envie dados do sensor para plataformas em nuvem para monitoramento remoto.
- Automação residencial - Ajuste a ventilação e o ar condicionado com base em leituras ambientais.
Solução de problemas
-
BMP280 não detectado (
i2cdetect
não mostra0x76
ou0x77
)- Garanta o Pinos SDA/SCL estão corretamente conectados.
- Verifique isso I2C está ativado usando
sudo raspi-config
.
-
Leituras incorretas
- Verifique conexões soltas ou Problemas da fonte de alimentação.
- Verifique se o sensor é não exposto a mudanças repentinas de temperatura.
-
Questões de comunicação SPI
- Verifique se o SPI está ativado (
ls /dev/spidev*
deve listar dispositivos). - Verificar Seleção correta de pinos CS no script python.
- Verifique se o SPI está ativado (
Conclusão
O Sensor BMP280 fornece Medições precisas de pressão barométrica, temperatura e altitude, tornando -o ideal para estações meteorológicas, aplicações de IoT e monitoramento ambiental. Seguindo este guia, você pode facilmente integrar o BMP280 ao seu Projetos de Raspberry Pi Para coleta e análise de dados em tempo real! 🚀