- Szükséges alkatrészek
- BMP280 nyomásérzékelő modul:
- Kapcsolási rajz a BMP280 és az Arduino interfészéhez:
- Arduino program a BMP280 és az Arduino interfészéhez:
- Az Arduino BMP280 nyomásérzékelő interfész projekt munkája
Ha fel akarja építeni saját hőmérséklet-ellenőrző rendszerét, vagy meg akarja mérni a drón magasságát, vagy egyszerűen meg akarja mérni a környéki légköri nyomást, akkor az egyik legjobb modul, amelyet a projektben használhat, a BMP280 nyomásérzékelő modul. A BMP280 abszolút nyomás- és hőmérséklet-érzékelő, amely a BMP085, BMP180, BMP183 érzékelők továbbfejlesztett változata. Miért hívják frissített verziónak? Ezt a következő szakaszokban tárgyaljuk. Korábbi oktatóanyagok egyikében már használtuk a régebbi BMP180 verziót az Arduinóval.
A BMP280 érzékelő modul használható mikrokontrollerekkel, például Arduino, PIC, AVR stb. Ehhez a projekthez az Arduino Uno-t fogjuk használni a BMP280-mal, valamint egy LCD 16x2-es kijelző modullal a hőmérséklet és a nyomás értékeinek megjelenítésére. Mielőtt összekapcsolnánk a BMP280-at az Arduinóval, le kell töltenünk a BMP280 Arduino könyvtárat, amelyet az Adafruit fejlesztett ki. Kattintson erre az Adafruit BMP280 könyvtár linkre a megfelelő Github oldal megnyitásához és a fejlécfájl hozzáadásához az Arduino IDE-hez.
Szükséges alkatrészek
- Arduino
- BMP280
- Vezetékek csatlakoztatása
- Kenyérlap
- LCD- 16x2
BMP280 nyomásérzékelő modul:
A BMP280 érzékelő modul 1,71 V minimális feszültséggel (VDD) működik, míg az előző verzió érzékelő moduljai 1,8 V (VDD) feszültséggel működnek. A jelenlegi fogyasztás tekintetében a BMP280 2,7uA-t, míg a BMP180 12uA-t, a BMP183 és a BMP085 pedig 5uA-t fogyaszt. A BMP280 új szűrőmódokat is támogat. A BMP280 érzékelő modul támogatja az I2c és az SPI protokollokat, míg a többi érzékelő az I2c vagy az SPI protokollt támogatja. A BMP280 érzékelő modul pontossága ± 0,12 hPa, ami ± 1 m magasságkülönbségnek felel meg. Ezeknek a kulcsfontosságú tulajdonságoknak köszönhetően többnyire különböző alkalmazásokban használják. A BMP érzékelő egy nyomásérzékelő elemből, páratartalom érzékelő elemből és hőmérséklet érzékelő elemből áll, amelyek tovább kapcsolódnak a nyomás kezelőfelületéhez, a páratartalom kezelőfelületéhez és a hőmérséklet előtérbe. Ezek az elülső IC-k érzékenységi analóg erősítők, amelyeket kis jelek erősítéséhez használnak. Ezen analóg front-end IC kimenete bemeneti jelként kerül az ADC-be. Ebben az analóg értékeket digitális feszültséggé alakítják, és ezt a feszültséget a logikai áramkörökbe táplálják, hogy további kapcsolatot teremtsenek a külvilággal.
A BMP280 érzékelő modul három energiafogyasztási módból áll, alvó, kényszerített és Normál módból. Alvó üzemmódban nem végeznek méréseket, és az energiafogyasztás minimális. Kényszerített üzemmódban egyetlen mérést hajtanak végre a kiválasztott mérési és szűrési lehetőségeknek megfelelően. A normál üzemmód folyamatosan változik a mérés és a készenléti időszak között, és a ciklusok időtartamát a T Standby határozza meg. Az áram készenléti állapotban valamivel magasabb, mint az alvó üzemmód.
Kapcsolási rajz a BMP280 és az Arduino interfészéhez:
Az Arduino és a BMP280 érzékelő és az LCD összekapcsolásának kapcsolási rajza az alábbiakban látható. Ha Ön teljesen új az Arduino és az LCD képernyőn, akkor ellenőrizheti ezt az Arduino LCD oktatóanyagot, hogy megértse, hogyan kell használni az Arduino-t LCD-kijelzőkkel.
Az érzékelő VCC és GND csapjai az Arduino 3v3 és GND csapjaihoz vannak csatlakoztatva. Az érzékelő SCL és SDA csapjai az Arduino kártya A5 és A4 csatlakozóihoz vannak csatlakoztatva. Az LCD csatlakozások a következők
LCD tű neve |
Arduino Pin |
VSS és RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Arduino program a BMP280 és az Arduino interfészéhez:
A teljes BMP280 Arduino kód megtalálható ennek az oldalnak az alján, amelyet közvetlenül az Arduino táblára tölthet fel. Ennek magyarázatát az alábbiakban adjuk meg
Ezek a könyvtárak a speciális funkciók engedélyezésére szolgálnak. A #include fejléc fájlokat közvetlenül leolvashatjuk az érzékelőből érkező értékekről. A #include
#include
BMP objektum létrehozása az Adafruit_BMP280 fájlhoz. A speciális funkciók eléréséhez objektumfájl jön létre.
Adafruit_BMP280 bmp; I2C
Az Arduino csapjainak beállítása az LCD-vel való kommunikációhoz. Ezen csapok használatával az adatok átkerülnek.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Az LCD és a soros kommunikáció inicializálása.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("BMP280 teszt")); lcd.print ("Welcome to"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); késés (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Nem található érvényes BMP280 érzékelő, ellenőrizze a vezetékeket!")); míg (1); }
Ez a funkció akkor működik, ha a bmp objektum inicializálása sikertelen.
/ * Alapértelmezett beállítások az adatlapból. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Működési mód. * / Adafruit_BMP280:: SAMPLING_X2, / * Temp. túlmintavétel * / Adafruit_BMP280:: SAMPLING_X16, / * Túlnyomásos mintavétel * / Adafruit_BMP216:: / FILTER * / Adafruit_BMP280:: STANDBY_MS_500); /* Készenléti idő. * /}
A kód ezen része kinyomtatja a hőmérsékletet a soros monitoron, és hibakeresési célokra szolgál.
void loop () {Soros nyomtatás (F ("Hőmérséklet =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
A bmp.readPressure és a bmp.readTemprature függvényeket speciális funkciók meghívására, valamint a hőmérséklet- és nyomásértékek visszaadására használják.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Az Arduino BMP280 nyomásérzékelő interfész projekt munkája
A bmp.readTemprature () és a bmp.readPressure () függvényeket a hőmérséklet és a nyomás értékeinek visszaadására használják. Ezek a függvények olyan állítások csoportja, amelyek speciális feladatot hajtanak végre, esetünkben a visszatérő hőmérséklet és nyomás fájlokat. Ezeket a függvényeket a bmp.readTemprature () és a bmp.readPressure () függvényekkel hívjuk meg . Az lcd.setCursor az LCD kurzorát a kívánt pozícióba állítja a képernyőn. Az lcd.print parancs kinyomtatja az adatokat a programozó által beállított pozícióból. Ha alapértelmezés szerint nincs beállítva pozíció az LCD számára, akkor a (0,0) értéket veszi kezdeti pozíciónak, és az adatokat folyamatosan nyomtatja. A következő adatok a következő oszlop pozícióját foglalják el, és az eljárás addig folytatódik, amíg el nem éri a sor végét, és áttér a következő sorra.
A BMP280 használható repülő játékok, mobiltelefonok, táblagépek, PC-k, GPS-eszközök, hordozható egészségügyi eszközök, otthoni időjárási állomások stb. Során. Ennek az eljárásnak a betartásával, a fejlécfájlok és néhány speciális funkció használatával könnyen összekapcsolhatjuk a BMP280-at a az Arduino. A teljes munka megtalálható az alábbi videóban is, remélem, hogy élvezte ezt a BMP280 Arduino oktatóanyagot, és valami hasznosat tanult. Ha bármilyen kérdése van, hagyja el őket az alábbi megjegyzés részben, vagy használja a fórumokat egyéb technikai kérdésekre.