De BMP280 is een Barometrische druk- en temperatuursensor Dat biedt nauwkeurige atmosferische druk en temperatuurwaarden. Het wordt vaak gebruikt voor Weermonitoring, hoogtevolg en omgevingsdetectie. Deze gids zal je doorstaan door het opzetten en gebruiken van de Bmp280 met een frambozen pi gebruik Python en I2C/SPI -communicatie.
Wat u nodig hebt
- Raspberry Pi (Elk model met GPIO -ondersteuning, bijvoorbeeld PI 3, PI 4)
- BMP280 Sensor -module
- Breadboard en jumper draden
- Python geïnstalleerd Op de Raspberry Pi
Stap 1: De BMP280 bedraden naar de Raspberry Pi
De BMP280 ondersteunt zowel I2C- als SPI -communicatie.
Voor de I2C -modus (aanbevolen)
BMP280 PIN | Raspberry Pi Pin |
---|---|
VCC | 3.3V (pin 1) |
GND | Grond (pin 6) |
SDA | SDA (Pin 3, GPIO2) |
SCL | SCL (Pin 5, GPIO3) |
Voor SPI -modus
BMP280 PIN | Raspberry Pi Pin |
---|---|
VCC | 3.3V (pin 1) |
GND | Grond (pin 6) |
Sck | SCLK (Pin 23, GPIO11) |
SDI | Mosi (Pin 19, GPIO10) |
SDO | Miso (Pin 21, GPIO9) |
CS | CE0 (Pin 24, GPIO8) |
Opmerking: De BMP280 werkt op 3.3V. Niet Sluit het aan op 5V, omdat het de module kan beschadigen.
Stap 2: Schakel I2C of SPI in op de Raspberry Pi
Voor I2C -communicatie
- Open de Raspberry Pi -configuratie -tool:
sudo raspi-config
- Navigeren naar Interface -opties> I2C en schakel het in.
- Start de Raspberry Pi opnieuw op:
sudo reboot
- Controleer of de BMP280 wordt gedetecteerd Op de I2C -bus:
De BMP280 zou op adres moeten verschijnensudo i2cdetect -y 1
0x76
of0x77
.
Voor SPI -communicatie
- Schakel SPI in met:
sudo raspi-config
- Navigeren naar Interface -opties> SPI en schakel het in.
- Start de Raspberry Pi opnieuw op:
sudo reboot
- Controleer de SPI -interface met behulp van:
Je zou moeten zienls /dev/spidev*
/dev/spidev0.0
En/dev/spidev0.1
.
Stap 3: Installeer vereiste bibliotheken
- Update de pakketlijst van uw Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installeer de vereiste I2C/SPI -tools en Python -bibliotheken:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
Stap 4: Gegevens lezen van de BMP280
Python -code voor de I2C -modus
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...")
Python -code voor SPI -modus
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...")
Stap 5: Toepassingen van BMP280 met Raspberry Pi
- Weermonitoring -Verzamel temperatuur- en drukgegevens voor realtime weersanalyse.
- Hoogtemeting - Gebruik drukgegevens om de hoogteveranderingen te schatten.
- IoT -projecten - Stuur sensorgegevens naar cloudplatforms voor monitoring op afstand.
- Home Automation - Pas de ventilatie en airconditioning aan op basis van ommetingen.
Problemen oplossen
-
BMP280 niet gedetecteerd (
i2cdetect
toont niet0x76
of0x77
)- Zorg voor de SDA/SCL -pinnen zijn correct bedraad.
- Controleer dat I2C is ingeschakeld gebruik
sudo raspi-config
.
-
Onjuiste metingen
- Controleren op losse verbindingen of Problemen met voeding.
- Zorg ervoor dat de sensor is niet blootgesteld aan plotselinge temperatuurveranderingen.
-
SPI -communicatieproblemen
- Zorg ervoor dat SPI is ingeschakeld (
ls /dev/spidev*
moet apparaten vermelden). - Verifiëren Correcte CS -pinselectie In het Python -script.
- Zorg ervoor dat SPI is ingeschakeld (
Conclusie
De BMP280 -sensor bieden Nauwkeurige barometrische druk, temperatuur en hoogtemetingen, waardoor het ideaal is voor Weerstations, IoT -toepassingen en milieumonitoring. Door deze gids te volgen, kunt u de BMP280 eenvoudig in uw Raspberry PI -projecten Voor realtime gegevensverzameling en -analyse! 🚀