ZL27ARM: obsługa czujnika MEMS do pomiaru ciśnienia – BMP085

 

W projekcie przedstawiamy obsługę czujnika BMP085 (Bosch Sensortec) służącego do pomiaru ciśnienia atmosferycznego i temperatury. W przykładzie obliczamy także wysokość położenia czujnika nad poziomem morza, a uzyskane wyniki pomiarów są wyświetlane na wyświetlaczu alfanumerycznym z matrycą OLED o organizacji 2×20 znaków.

Do przykładu opisującego działanie czujnika ciśnienia posłużymy się modułem KAmodBMP085, wyposażonym w czujnik BMP085 oraz zestawem ZL27ARM. Sposób dołączenia zestawu KAmodBMP085 do ZL27ARM pokazano na rysunku 1.

 

Rys. 1. Schemat połączeń pomiędzy KAmodBMP085 i ZL27ARM

Rys. 1. Schemat połączeń pomiędzy KAmodBMP085 i ZL27ARM

 

 

Do zestawu uruchomieniowego podłączono również wyświetlacz prezentujący dane z czujnika, schemat połączeń pokazano na rysunku 2.

 

Rys. 2. Schemat podłączenia wyświetlacza OLED do ZL27ARM

Rys. 2. Schemat podłączenia wyświetlacza OLED do ZL27ARM

 

 

Czujnik ciśnienia BMP085 komunikuje się z mikrokontrolerem STM32 poprzez interfejs I2C. Jako że mikrokontroler zastosowany w zestawie ZL27ARM ma wbudowany sprzętowy interfejs obsługi tej magistrali, został on wykorzystany w przykładzie. Dzięki temu funkcje oprogramowania mikrokontrolera sprowadzają się do obsługi interfejsu I2C, przetworzenia otrzymanych danych z czujnika ciśnienia i ich wyświetlenia.

 

 

Po konfiguracji samego procesora program odczytuje dane z pamięci eeprom czujnika i zapisuje je w odpowiednich zmiennych, dane te są na stałe zaprogramowane przez producenta w celu użycia ich do kompensacji wyników pomiarów temperatury oraz ciśnienia, zgodnie z informacją podaną w nocie katalogowej czujnika BMP085:

Do pobrania

O autorze