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
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
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:
//Odczyt danych z eeprom
void BMP085_Calibration(void)
{
extern short ac1, ac2, ac3, b1, b2, mb, mc, md;
extern unsigned short ac4, ac5, ac6;
ac1 = BMP085_ReadShort(0xAA);
ac2 = BMP085_ReadShort(0xAC);
ac3 = BMP085_ReadShort(0xAE);
ac4 = BMP085_ReadShort(0xB0);
ac5 = BMP085_ReadShort(0xB2);
ac6 = BMP085_ReadShort(0xB4);
b1 = BMP085_ReadShort(0xB6);
b2 = BMP085_ReadShort(0xB8);
mb = BMP085_ReadShort(0xBA);
mc = BMP085_ReadShort(0xBC);
md = BMP085_ReadShort(0xBE);
}



Technologie End of Life i bezpieczeństwo sieci – wyzwania Europy związane z tzw. długiem technologicznym
Najczęstsze błędy firm przy wyborze dostawcy energii i jak ich uniknąć
Fotorezystor, czyli czujnik światła dwojakiego działania. Przykład innowacji w automatyce i elektronice możliwej dzięki technologii fotooporników 



