![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
example code to display mpl1152a data on a jhd 162a 16x2 lcd display
Dependencies: mbed mpl115a2 BME280_SPI TextLCD
main.cpp
00001 #include "mbed.h" 00002 #include "MPL115A2.h" 00003 #include "BME280_SPI.h" 00004 #include "TextLCD.h" 00005 00006 00007 I2C i2c(p9, p10); // sda, scl 00008 00009 Serial pc(USBTX, USBRX); // tx, rx 00010 00011 MPL115A2 mpl_sensor(&i2c); 00012 00013 BME280_SPI bme_sensor(p5, p6, p7, p8); // mosi, miso, sclk, cs 00014 00015 TextLCD lcd(p24, p25, p26, p27, p28, p29); // rs, rw, e, d4, d5, d6, d7 00016 00017 InterruptIn button(p11); 00018 bool display_hPa = true; 00019 const double hPa2cmH2O = 1.01974428892; 00020 00021 void toggleDisplayFormat() { 00022 display_hPa ^= display_hPa; 00023 } 00024 00025 int main() { 00026 00027 button.rise(&toggleDisplayFormat); 00028 00029 mpl_sensor.begin(); 00030 00031 // main loop 00032 while(1) 00033 { 00034 mpl_sensor.ReadSensor(); 00035 lcd.cls(); // WITHOUT THIS THE ENDLESS BEEP OCCURS 00036 if(display_hPa) { 00037 lcd.printf("MPL: %4.4f hPa\nBME: %4.4f hPa%\n", 00038 mpl_sensor.GetPressure(), 00039 bme_sensor.getPressure()); 00040 pc.printf("MPL: %4.4f hPa\nBME: %4.4f hPa%\n", 00041 mpl_sensor.GetPressure(), 00042 bme_sensor.getPressure()); 00043 } 00044 else { 00045 lcd.printf("MPL: %4.4f cmH2O\nBME: %4.2f cmH2O%\n", 00046 (mpl_sensor.GetPressure() * hPa2cmH2O), 00047 (bme_sensor.getPressure() * hPa2cmH2O)); 00048 pc.printf("MPL: %4.4f cmH2O\nBME: %4.2f cmH2O%\n", 00049 (mpl_sensor.GetPressure() * hPa2cmH2O), 00050 (bme_sensor.getPressure() * hPa2cmH2O)); 00051 } 00052 wait(.1); 00053 } 00054 }
Generated on Tue Jul 12 2022 21:25:20 by
![doxygen](doxygen.png)