BMP280 jest czujnikiem o wysokiej precyzji, który mierzy ciśnienie barometryczne, temperaturę i wysokość. Jest szeroko stosowany w stacjach pogodowych, urządzeniach do śledzenia wysokości i urządzeń IoT ze względu na jego dokładność i opcje komunikacji I2C/SPI. Ten samouczek poprowadzi Cię przez połączenie i użycie BMP280 z Arduino.
Czego będziesz potrzebować
- Moduł czujnika BMP280
- Arduino Board (np. UNO, Mega, Nano)
- Druty chleba i skoczków
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie BMP280
Czujnik BMP280 obsługuje zarówno komunikację I2C, jak i SPI. Większość płyt wybitnych domyślnie w trybie I2C, który wymaga mniej przewodów.
BMP280 Pinout
Szpilka | Funkcjonować |
---|---|
VCC | Zasilacz (3,3 V lub 5 V) |
GND | Grunt |
Scl | Linia zegara I2C |
SDA | I2C Linia danych |
CSB | Chip Wybierz dla SPI (opcjonalnie) |
SDO | SPI Dane Out/I2C Wybór adresu |
-
Notatka: W przypadku komunikacji I2C połącz się
SDO
do GND dla domyślnego adresu (0x76
) lub do VCC dla0x77
.
Krok 2: Okablowanie BMP280 do Arduino
Oto jak podłączyć BMP280 z Arduino Uno w trybie I2C:
Pin BMP280 | PIN Arduino |
---|---|
VCC | 5v |
GND | GND |
Scl | A5 |
SDA | A4 |
Notatka: W przypadku innych tablic Arduino sprawdź określone szpilki I2C w dokumentacji swojej tablicy.
Krok 3: Zainstaluj wymaganą bibliotekę
Biblioteka „Adafruit BMP280” ułatwia interfejs z czujnikiem.
Kroki do zainstalowania biblioteki:
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
- Wyszukaj „Adafruit BMP280” i kliknij Zainstalować.
- Jeśli zostanie wyświetlony monit, zainstaluj także bibliotekę „Adafruit Unified Sensor”.
Krok 4: Prześlij kod
Oto przykład szkicu do odczytu temperatury, ciśnienia i wysokości z BMP280:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp; // Create BMP280 object
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("BMP280 Sensor Test");
if (!bmp.begin(0x76)) { // Default I2C address is 0x76
Serial.println("Could not find a valid BMP280 sensor, check wiring!");
while (1);
}
}
void loop() {
Serial.print("Temperature: ");
Serial.print(bmp.readTemperature());
Serial.println(" °C");
Serial.print("Pressure: ");
Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
Serial.println(" hPa");
Serial.print("Approx. Altitude: ");
Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
Serial.println(" m");
Serial.println();
delay(2000); // Wait for 2 seconds before the next reading
}
Krok 5: Przetestuj konfigurację
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod do Arduino, klikając Wgrywać.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Obserwuj odczyty temperatury, ciśnienia i wysokości wyświetlane w monitorze szeregowym.
Zastosowania BMP280
- Stacje pogodowe
- Pomiar wysokości u dronów
- Monitorowanie środowiska IoT
- Nawigacja oparta na ciśnieniu barometrycznym
Rozwiązywanie problemów
- Brak odpowiedzi od czujnika: Dokładnie sprawdź okablowanie i upewnij się, że adres I2C pasuje do konfiguracji.
- Nieprawidłowe odczyty: Upewnij się, że czujnik nie jest narażony na ekstremalne warunki środowiskowe lub zaburzenia przepływu powietrza.
- Błędy biblioteczne: Sprawdź, czy biblioteka „Adafruit BMP280” jest prawidłowo zainstalowana.
Wniosek
Z powodzeniem połączyłeś czujnik BMP280 z Arduino, umożliwiając precyzyjne pomiary temperatury, ciśnienia i wysokości. Ten wszechstronny czujnik jest idealny do różnych aplikacji, od monitorowania pogody po nawigację dronów. Eksperymentuj dalej, integrując BMP280 z rejestratorami danych, wyświetlaczami lub platformami IoT dla zaawansowanych projektów!