BME280 a BMP280 – meranie tlaku, teploty a vlhkosti

BME280 a BMP280 – meranie tlaku, teploty a vlhkosti

Na meranie atmosférického tlaku Arduinom je vhodný senzor BME280 alebo BMP280 od firmy Bosch. Senzor ideálny do domácej meteostanici. V nasledujúcom článku popíšem rozdiely, zapojenie a ukážkový program z knižnice.

Po vyskúšaní merania teplôt a vlhkosti so senzormi DHT a DS18B20, to chcelo tentokrát vyskúšať merať aj atmosférický tlak. Našiel som na to vhodný senzor BME280 a BMP280. Vyrába ich firma Bosh. Sú to nástupcovia predchádzajúcej modelovej rady BMP180 a BMP085. Ako prvé ma zaujímali parametre, rozdiel medzi nimi a zapojenie.

Parametre

  • BMP280 meranie atmosférického tlaku a teploty (dva senzory v jednom)
  • BME280 meranie atmosférického tlaku, teploty a vlhkosti (tri senzory v jednom)
  • podporujú SPI a I2C (0x77) zbernicu
  • napájanie obvodu (čipu) 1.71~3.6V
  • rozsah merania tlaku 300~1100 hPa ±1hPa pri 0~65 °C (tolerancia ±0.12hPa v rozsahu 700~900hPa pri 25~40 °C ±1.0m, rozlíšenie 0,18Pa)
  • rozsah merania teplot -40~85°C (±1°C pri 0~65°C, rozlíšenie 0,01°C)
  • rozsah merania vlhkosti 0~100% (tolerancia ±3% v rozsahu 20~80% pri 25°C, rozlíšenie 0,008%, min.interval merania 1s)

Zapojenie BME280 a BMP280

Zapojenie senzora je podľa typu prevedenia PCB dosky. Potrebujeme určite dva vodiče na napájanie a ďalšie dva vodiče pre I2C zbernicu alebo štyri vodiče pre SPI zbernicu. Dohľadal som tieto dve základné zapojenia.

Zapojenie 3,3V

Prvé zapojenie je na 3,3V a podporuje obe zbernice (SPI aj I2C). To znamená, že sa pripája len na Arduino dosky s 3,3V TTL logikou (Arduino Pro Mini 3.3V, Arduino DUE, ESP8266, STM…) alebo pri 5V doskách treba použiť Logic Level Shifter.

BME280 3.3V schéma zapojenia

Schéma zapojenia 3.3V verzie

BME280 3.3V PCB

Modul senzora BME280 a BMP280 (horný a spodný pohľad)

Zapojenie v režime I2C

  • Vcc pripojíme k 3.3V
  • GND pripojíme na zem
  • SCL pripojíme k Arduinu na pin A5
  • SDA pripojíme k Arduinu na pin A4
  • CSB pripojíme k Vcc (režim I2C)
  • SDO pripojíme k Vcc = adresa 0x77 (pripojením na zem bude adresa 0x76)

Zapojenie v režime SPI

  • Vcc pripojíme k 3.3V
  • GND pripojíme na zem
  • SCL pripojíme k Arduinu na pin 13 (SCK)
  • SDA pripojíme k Arduinu na pin 11 (MOSI)
  • CSB pripojíme k Arduinu na pin 10 (CS)
  • SDO pripojíme k Arduinu na pin 12 (MISO)

Zapojenie 5V

Druhé zapojenie je na 5V a podporuje len I2C zbernicu, no obsahuje spomínaný Logic Level Shifter a stabilizátor na 3,3V.

BME280 5V schéma zapojenia

Zapojenie 5V verzie

BME280 5V PCB

Modul senzora BME280/BMP280 (horný a spodný pohľad)

Zapojenie v režime I2C

  • Vin pripojíme k 5V
  • GND pripojíme na zem
  • SCL pripojíme k Arduinu na pin A5
  • SDA pripojíme k Arduinu na pin A4
  • prepojkou S1 SW SPDT sa dá zmeniť I2C adresa, ak by sme mali dva rovnaké senzory na zbernici

Knižnica a program

Na naprogramovanie kódu pre Arduino je vyžadované použitie nasledujúcich knižníc, ktoré si treba vyhľadať v správcovi knižníc. V Arduino IDE klikneme v menu na “Projekt - Zahrnúť knižnice - Spravovať knižnice” a do vyhľadávania napíšeme BME280 alebo BMP280 podľa typu pripojeného senzora a potom následne aj pomocnú knižnicu “Adafruit Unified Sensor“.

BME280 5V PCB

Teraz už len stačí si vybrať program z príkladu z nainštalovanej knižnice bme280test.ino alebo bmp280test.ino a vyskúšať.

Svoju nadmorskú výšku z mapy pre prípad potreby nájdeš tu.

Modul pre meranie teploty, vlhkosti a atmosférického tlaku so senzorom BME280 je jednoducho použiteľným nástrojom pre meranie spomínaných troch veličín. Vďaka jeho univerzálnosti ho teda môžeme využiť napríklad v domácich meracích systémoch alebo pri stavbe vlastnej meteostanice. Používam ho od jesene 2016 a namerané hodnoty zobrazujem v tomto grafe.

Výber na čítanie...

Eagle
Eagle

Editor plošných spojov EAGLE je užívateľsky prívetivý a výkonný nástroj pre návrh dosiek plošných spojov (DPS, PCB). Je široko používaný v priemysle a vývoji elektroniky...

Čítať viac...

ThingSpeak
ThingSpeak

Pri vytváraní projektov pre Arduino narazíme na problém, kedy chceme sledovať stav napr. teplotu, tlak, vlhkosť či akékoľvek iné hodnoty z miesta mimo našu domácu sieť. Riešenie môžeme nájsť u už hotových webových...

Čítať viac...

Arduino história
Arduino história

Arduino [čítaj Arduíno] je v informatike názov malého jedno-doskového počítača založeného na mikrokontroléri ATmega od firmy Atmel. Svojim návrhom sa snaží podporiť výučbu informatiky v školách a oboznámiť študentov s tým, ako sú pomocou počítačov riadené rôzne zariadenia ...

Čítať viac...

Obľúbené produkty...

Keyestudio 1602LCD Keypad Shield

19.23 EUR

13.46 EUR

TTP229L 16-key Touch Sensor

8.07 EUR

8.07 EUR

Vyhľadať články
Programovanie...
  • Funkcie času

    Štandardne majú dosky Arduino štyri funkcie času. Jedná sa o funkcie delay (), delayMicroseconds ...

  • Operátory preprocesora

    Operátory preprocesora alebo znak # je signálom pre preprocesor. Preprocesor sa spustí pri každom...

  • Matematické funkcie

    Teraz si ukážeme, aké ďalšie matematické funkcie a operácie podporuje Arduino okrem sčítavania, o...

  • Špeciálne operátory

    Spomenieme ešte špeciálne operátory alebo špeciálne znaky, ktoré sa používajú pri programovaní a ...

  • Ostatné IO funkcie

    U Arduina je možné generovať i zvuk, ale iba v najjednoduchšej podobe. Neumožňuje totiž generovať...

Podpora webu
Na kávu už prispeli
Dátum Meno Suma
08.01.2024 Veres Dusan 10€
15.05.2023 Ivan Danis 10€
28.09.2022 Ivan Vrab 7€
14.05.2022 Nemcic Marian 10€
04.02.2022 Robert Bilko 5€
29.01.2022 Peter Buffa 5€
19.11.2021 Rastislav Rehak 5€
16.09.2021 Anton Strela 5€
13.09.2021 Juraj Jedlak 5€
02.09.2021 Michal Marek 7€
08.08.2021 František Uhrík 5€
21.07.2021 Juraj Hrdina 5€
25.03.2021 Jan Nemec 10€
16.03.2021 Igor Pavlov 5€
25.02.2021 Lukas Lacuch 5€
06.11.2020 Pavol Balint 5€
05.11.2020 Marek Horečný 5€
05.10.2020 Jan Kusnir 5€
27.04.2020 Jan Zuskin 15€
26.04.2020 Dušan Sojka 5€
24.02.2020 Juraj Lackanič 5€
22.01.2020 František Žilinec 10€
20.05.2018 Tomáš F. 2€
17.12.2018 Pavol P. 5€
QR Donate 10Eur