Oto prosty przewodnik, jak korzystać z czujnika ciśnienia barometrycznego i temperatury BMP180 z Raspberry Pi. Czujnik BMP180 może mierzyć ciśnienie i temperaturę atmosferyczne, co czyni go przydatnym dla stacji pogodowych, śledzenia wysokości i innych aplikacji do monitorowania środowiska.
Czego będziesz potrzebować
- Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
- Moduł czujnika BMP180
- Druty chleba i skoczków
- Komputer z dostępem do SSH do Raspberry Pi lub podłączonej klawiatury i monitorowania
- Python zainstalowany na Raspberry Pi
Krok 1: Okablowanie BMP180 do Raspberry Pi
BMP180 komunikuje się z Raspberry Pi za pośrednictwem protokołu I2C.
Połączenia (tryb I2C)
Pin BMP180 | Pin Raspberry Pi |
---|---|
VCC | 3,3 V (pin 1) |
GND | Uziemienie (pin 6) |
SDA | SDA (pin 3, GPIO2) |
Scl | SCL (pin 5, GPIO3) |
Krok 2: Włącz interfejs I2C na Raspberry Pi
- Otwórz narzędzie konfiguracyjne Raspberry Pi:
sudo raspi-config
- Przejść do Opcje interfejsu> i2c i włącz to.
- Uruchom ponownie Raspberry Pi:
sudo reboot
Krok 3: Zainstaluj wymagane biblioteki
- Zaktualizuj swoje Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Zainstaluj narzędzia I2C i niezbędne biblioteki Python:
sudo apt install -y i2c-tools python3-smbus python3-pip sudo pip3 install bmp180
- Sprawdź, czy BMP180 jest wykrywany w autobusie I2C:
Powinieneś zobaczyć adres urządzenia (zazwyczajsudo i2cdetect -y 1
0x77
) W wyjściu.
Krok 4: Czytanie danych z BMP180
Użyj następującego skryptu Pythona, aby odczytać dane dotyczące temperatury i ciśnienia z BMP180.
Przykład kodu Pythona
import time
import bmp180
# Create a sensor object
sensor = bmp180.BMP180()
# Read and display temperature and pressure
while True:
temperature = sensor.read_temperature()
pressure = sensor.read_pressure()
altitude = sensor.read_altitude()
print(f"Temperature: {temperature:.2f} °C")
print(f"Pressure: {pressure / 100.0:.2f} hPa")
print(f"Altitude: {altitude:.2f} m")
print("------------------------")
time.sleep(2)
Krok 5: Zastosowania BMP180
- Stacje pogodowe: Zmierz ciśnienie atmosferyczne i temperaturę, aby przewidzieć wzorce pogodowe.
- Śledzenie wysokości: Użyj czujnika, aby śledzić zmiany wysokości, przydatne w projektach dronów lub zajęciach na świeżym powietrzu.
- Monitorowanie środowiska: Monitoruj warunki środowiskowe, takie jak zmiany ciśnienia, które mogą wskazywać na burzę lub inne zjawiska pogodowe.
Rozwiązywanie problemów
-
Urządzenie nie wykryte:
- Upewnij się, że piny SDA i SCL są odpowiednio podłączone.
- Sprawdź, czy interfejs I2C jest włączony na Raspberry Pi.
-
Niedokładne odczyty:
- Upewnij się, że czujnik nie jest narażony na ekstremalne temperatury lub zmiany ciśnienia podczas czytania.
- Sprawdź odpowiednią kalibrację czujnika, jeśli wyniki wydają się wyłączone.
-
Błędy I2C:
- Sprawdź wszelkie możliwe konflikty adresowe w autobusie I2C.
Wniosek
BMP180 to prosty, ale potężny czujnik, który można łatwo zintegrować z projektami Raspberry Pi. Dzięki temu przewodowi można odczytać dane ciśnienia i temperatury dla różnych aplikacji, od stacji pogodowych po śledzenie wysokości.