Przejdź do głównej zawartości

Czujnik otoczenia

Dokumentacja czujnika BME280


1. Wprowadzenie

BME280 to precyzyjny czujnik mierzący temperaturę, wilgotność i ciśnienie atmosferyczne. Jest powszechnie stosowany w monitoringu środowiska, stacjach pogodowych ze względu na swoją niezawodność. Czujnik komunikuje się poprzez interfejs I2C.


2. Charakterystyka techniczna

  • Zakres temperatur: -40 do 85°C (dokładność ±1,0°C)
  • Zakres wilgotności: 0% do 100% RH (dokładność ±3% RH)
  • Zakres ciśnienia: 300 do 1100 hPa (dokładność ±1 hPa)
  • Napięcie robocze: 1,8 V do 3,6 V
  • Interfejs: I2C (domyślnie) lub SPI
  • Wymiary: 2,5 mm x 2,5 mm x 0,93 mm
  • Pobór mocy: 0,1 µA w trybie uśpienia, 1,8 µA przy częstotliwości próbkowania 1 Hz

3. Konfiguracja PIN

BME280 Pinout


4. Korzystanie z BME280 z CircuitPython

Instalacja biblioteki:

  1. Biblioteka instaluje się automatycznie w przypadku użycia bloku kodu korzystającego z plecaka DHT11 w Elioblocs.

  2. W przeciwnym razie zainstaluj bibliotekę Adafruit CircuitPython BME280, korzystając z pakietu bibliotek CircuitPython z Adafruit.

Przykład kodu:

import time
import board
import adafruit_bme280

# Inicjalizacja czujnika BME280
i2c = busio.I2C(board.IO9, board.IO8)
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c, address=0x76)

# Opcjonalnie: ustaw ciśnienie na poziomie morza zgodnie z lokalizacją
bme280.sea_level_pressure = 1013.25

while True:
print(f"Temperatura: {bme280.temperature:.1f} °C")
print(f"Wilgotność: {bme280.humidity:.1f} %")
print(f"Ciśnienie: {bme280.pressure:.1f} hPa")
print(f"Altitude: {bme280.altitude:.2f} metrów")

time.sleep(2.0)

Uwagi:

  • Zmienną sea_level_pressure można dostosować w zależności od lokalizacji, aby uzyskać dokładniejsze odczyty wysokości.

5. Typowe zastosowania

  • Stacje pogodowe
  • Monitoring środowiska
  • Wysokościomierze
  • Urządzenia IoT do monitorowania klimatu i jakości powietrza