. BMP280 bir Barometrik basınç ve sıcaklık sensörü Bu doğru atmosfer basıncı ve sıcaklık okumaları sağlar. Genel olarak kullanılır Hava Durumu İzleme, Yükseklik İzleme ve Çevresel Algılama. Bu kılavuz, ayarlama ve kullanma yoluyla size yol gösterecektir. Ahududu Pi ile BMP280 kullanma Python ve I2C/SPI iletişimi.
Ne İhtiyacınız Olacak
- Ahududu pi (GPIO destekli herhangi bir model, örneğin Pi 3, Pi 4)
- BMP280 Sensör Modülü
- Breadboard ve jumper telleri
- Python yüklü Raspberry Pi'de
Adım 1: BMP280'i Raspberry Pi'ye bağlama
. BMP280 hem I2C hem de SPI iletişimini destekler.
I2C modu için (önerilir)
BMP280 PIN | Raspberry Pi Pimi |
---|---|
VCC | 3.3V (pim 1) |
Gnd | Zemin (pim 6) |
SDA | SDA (pim 3, GPIO2) |
Scl | SCL (Pin 5, GPIO3) |
SPI modu için
BMP280 PIN | Raspberry Pi Pimi |
---|---|
VCC | 3.3V (pim 1) |
Gnd | Zemin (pim 6) |
Sck | SCLK (Pin 23, GPIO11) |
SDI | MOSI (Pin 19, GPIO10) |
SDO | MISO (Pin 21, GPIO9) |
CS | CE0 (Pin 24, GPIO8) |
Not: BMP280 3.3v. Yapamaz Modüle zarar verebileceği için 5V'ye bağlayın.
2. Adım: Raspberry Pi'de I2C veya SPI'yi etkinleştirin
I2C İletişim için
- Raspberry Pi yapılandırma aracını açın:
sudo raspi-config
- Gezmek Arayüz Seçenekleri> I2C ve etkinleştir.
- Raspberry Pi'yi yeniden başlatın:
sudo reboot
- Doğrula BMP280 tespit edildi I2C otobüsünde:
. BMP280 adreste görünmelidirsudo i2cdetect -y 1
0x76
veya0x77
.
SPI iletişimi için
- SPI kullanımı etkinleştirin:
sudo raspi-config
- Gezmek Arayüz Seçenekleri> SPI ve etkinleştir.
- Raspberry Pi'yi yeniden başlatın:
sudo reboot
- SPI arayüzünü şu şekilde doğrulayın:
Görmelisinls /dev/spidev*
/dev/spidev0.0
Ve/dev/spidev0.1
.
3. Adım: Gerekli kütüphaneleri kurun
- Raspberry Pi’nin paket listesini güncelleyin:
sudo apt update && sudo apt upgrade -y
- Gerekli olanı kurun I2C/SPI Araçları ve Python Kütüphaneleri:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
4. Adım: BMP280'den veri okuma
I2C modu için python kodu
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...")
SPI modu için Python kodu
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...")
Adım 5: BMP280'in Raspberry Pi ile Uygulamaları
- Hava Durumu İzleme -Gerçek zamanlı hava analizi için sıcaklık ve basınç verilerini toplayın.
- Yükseklik ölçümü - Yükseklik değişikliklerini tahmin etmek için basınç verilerini kullanın.
- IoT Projeleri - Uzaktan izleme için sensör verilerini bulut platformlarına gönderin.
- Ev otomasyonu - Havalandırma ve klima çevresel okumalara göre ayarlayın.
Sorun giderme
-
BMP280 algılanmadı (
i2cdetect
göstermiyor0x76
veya0x77
)- Sağlamak SDA/SCL pimleri doğru kablolu.
- Doğrula I2C etkinleştirildi kullanma
sudo raspi-config
.
-
Yanlış Okumalar
- Kontrol etmek Gevşek bağlantılar veya güç kaynağı sorunları.
- Sensörün olduğundan emin olun ani sıcaklık değişikliklerine maruz kalmıyor.
-
SPI İletişim Sorunları
- SPI'nın etkin olduğundan emin olun (
ls /dev/spidev*
cihazları listelemelidir). - Doğrulamak Doğru CS PIN Seçimi Python betiğinde.
- SPI'nın etkin olduğundan emin olun (
Çözüm
. BMP280 sensörü sağlayan Doğru barometrik basınç, sıcaklık ve yükseklik ölçümleri, için ideal Hava istasyonları, IoT uygulamaları ve çevresel izleme. Bu kılavuzu takip ederek, BMP280'i kolayca entegre edebilirsiniz. Raspberry Pi Projeleri Gerçek zamanlı veri toplama ve analizi için! 🚀