BMP180 egy alap szenzor egy időjárás állomás elkészítéséhez. Megkapjuk tőle a légnyomást, hőmérsékletet, és még a tengerszint feletti magasságot is. Ami jellemzi még kis méret, alacsony fogyasztás. Könnyen illeszthető Arduino és ESP eszközökhöz is. Ennek a Bosh típusú szenzornak jelenleg három generációja van. Ezek időrendben: BMP085, BMP180, BMP280. Ebben a tesztben a második generációs szenzor szerepel.
BMP180 paraméterek
- Nyomás tartomány: 300 – 1100hPa (9000 m tengerszint feletti magasság és -500 m közötti tartományban).
- Tápfeszültség: 1.8V – 3.6V (a VDDA). 1.62V – 3.6V (VDDR).
- Alacsony fogyasztás: 5μA normál módban.
- Pontosság: kis energiaigényű üzemmódban a felbontás 0.06hPa (0,5 m). Nagy pontosságú lineáris módban felbontás 0.03hPa (0,25 m).
- A hőmérséklet kimenet.
- I2C interfész.
- Hőmérséklet-kompenzáció.
- Válaszidő: 7.5ms.
- Készenléti áram: 0.1μA.
Képek a szenzorról
A képeken látható, hogy a mérete meglehetősen kicsi. Így bárhova könnyen felszerelhető, és rejtve marad. Én a terasz alá rögzítettem. A furat mögé tettem egy távtartót így nem ér hozzá semmihez. Egy öt forintos érme a méret arányosság alapja. Mivel több gyártó is gyártja a szenzort létezik 4-nél több lábas kivitel is. Így kis mértékben eltérő méretekkel rendelkezhetnek.



Elektromos bekötése a szokásos I2C, 2 vezetékes bekötés. És terméseztessen 3,3 volt.


Teszt környezet

A teszteléshez az Arduino IDE 1.8.12-es verzióját használtam.
A program leölhető az arduino.cc/en/Main/Software oldalról.
A program nyelv referenciái pedig megtalálhatóak az arduino.cc/reference oldalon.
Hardver Arduino Nano.
Függvénykönyvtár telepítése
Az “Eszközök” menü alatt található a “Könyvtárak kezelése” almenü. Itt lehet az Arduino IDE alá függvénykönyvtárakat telepíteni. Erre azért van szükség, mert alapból csak a legegyszerűbb könyvtárak vannak telepítve. A speciális eszközökhöz szenzorokhoz léteznek megírt könyvtárak.

A megjelenő ablakban a keresés mezőbe kell beírni az eszköz nevét és a találati listából telepíteni a nekünk szimpatikus függvénykönyvtárat. Ha van Adafruit által kiadott könyvtár, akkor azt részesítem előnyben. A “More info” linkre kattintva a készítő oldalát lehet megnézni. A “Telepítés” gombra kattintva telepíteni lehet a kiválasztott függvénykönyvtárat. Érdemes mindig a legújabb verziót használni,

Telepítés után a példák között kiválasztható a BMP teszteléséhez egy minta program. A program a “Fájl” menü “Példák” almenü “Adafruit BMP085 library” résznél a “BMP085test” névvel érhető el. Ami kompatibilis a BPM180-as szenzorral.
És a kód
A gyári Adafruit kódot lefordítva, feltöltve máris a terminálban láthatóak a mért értékek. A kód nagyon egyszerű. A függvény könyvtár meghívása után illeszti a szenzort, malyd terminálban kiírja a visszakapott értékeket. Ez a kis program ezt ismétli folyamatosan.
#include <Wire.h>
#include <Adafruit_BMP085.h>
//2020.04.21 BMP180 teszt
_______________________________________________________
// Connect VCC of the BMP180 sensor to 3.3V (NOT 5.0V!)
// Connect GND to Ground
// Connect SCL to i2c clock - on Analog 5
// Connect SDA to i2c data - on Analog 4
Adafruit_BMP085 bmp;
void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("Could not find a valid BMP085 sensor, check wiring!");
while (1) {}
}
}
void loop() {
Serial.print(millis() / 1000);
Serial.println(" sec ____________________________________");
Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bmp.readPressure() / 100);
Serial.println(" hPa");
// Calculate altitude assuming 'standard' barometric
// pressure of 1013.25 millibar = 101325 Pascal
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude());
Serial.println(" meters");
Serial.print("Pressure at sealevel (calculated) = ");
Serial.print(bmp.readSealevelPressure());
Serial.println(" Pa");
// you can get a more precise measurement of altitude
// if you know the current sea level pressure which will
// vary with weather and such. If it is 1015 millibars
// that is equal to 101500 Pascals.
Serial.print("Real altitude = ");
Serial.print(bmp.readAltitude(101500));
Serial.println(" meters");
Serial.println();
delay(5000);
}
Mérési eredmények
A szenzor álltal addot eredmények: hőmérséklet, légnyomás, tengerszint feletti magasság. Ezeket az értékek változóban tárolva bárhol fel lehet használni. Így egy Arduino-hoz csatlakoztatott LCD-re ki lehet írni.

De jobb és könnyebb összekötni egy ESP-vel. EspEasy & Domoticz komboval folyamatosan lehet monitorozni és tárolni az adatokat.
Arduino kategória további bejegyzései:
- ESP8266 BMP280 tesztOlvasási idő: 2 perc BMP280 egy alap szenzor egy időjárás állomás elkészítéséhez. Megkapjuk tőle a légnyomást és hőmérsékletet. Ami jellemzi még kis méret, alacsony…
- Arduino multitaskingOlvasási idő: 3 perc Multitasking avagy párhuzamos vezérlés. Jobb kifejezés rá a párhuzamos feladat végrehajtás. Miért is van erre szükség? Nem minden esetben, de…
- Arduino Nano BMP180 tesztOlvasási idő: 4 perc BMP180 egy alap szenzor egy időjárás állomás elkészítéséhez. Megkapjuk tőle a légnyomást, hőmérsékletet, és még a tengerszint feletti magasságot is….
- Arduino pro IDE telepítése Linux-raOlvasási idő: 4 perc Arduino programozására eddig a sima Arduino IDE-t használtam. Viszont rátaláltam egy egy alfa kiadásra ami már 2019 októberében megjelent. Jelenleg…
- Arduino Nano fotodióda tesztOlvasási idő: 2 perc Fotodióda tesztelése Arduino Nano-val. Az általam használt dióda egy éjszakai fényt adó egységből való, így nem tudom a típusát, sem…
- Arduino DS1307-RTC dátum, idő beállításOlvasási idő: 3 perc Ezt az eszköz már elég régóta használom, de most volt vele csak gondom. És így megosztom, azt a pár egyszerű…
- Arduino – Akvárium világítás vezérlésOlvasási idő: 8 perc Arduino mikrokontrollerrel akvárium világítás vezérlés. Vezérlés szempontjából csak a világítás a lényeg, de vannak extrái is. Ilyenek LCD kijelzőn megjelentendő…
linuxStyler hozzászólásai