example code to display mpl1152a data on a jhd 162a 16x2 lcd display

Dependencies:   mbed mpl115a2 BME280_SPI TextLCD

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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 }