example code to display mpl1152a data on a jhd 162a 16x2 lcd display
Dependencies: mbed mpl115a2 BME280_SPI TextLCD
main.cpp@3:99befa3962d4, 2020-04-02 (annotated)
- Committer:
- skudmunky
- Date:
- Thu Apr 02 13:35:13 2020 +0000
- Revision:
- 3:99befa3962d4
- Parent:
- 2:e1e9cca4d7e3
- Child:
- 4:1775558d1a45
Added BME280 SPI
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joeh | 0:118187295473 | 1 | #include "mbed.h" |
joeh | 0:118187295473 | 2 | #include "MPL115A2.h" |
skudmunky | 3:99befa3962d4 | 3 | #include "BME280_SPI.h" |
skudmunky | 2:e1e9cca4d7e3 | 4 | #include "TextLCD.h" |
skudmunky | 2:e1e9cca4d7e3 | 5 | |
joeh | 0:118187295473 | 6 | |
joeh | 0:118187295473 | 7 | I2C i2c(p9, p10); // sda, scl |
skudmunky | 2:e1e9cca4d7e3 | 8 | |
joeh | 0:118187295473 | 9 | Serial pc(USBTX, USBRX); // tx, rx |
joeh | 1:f198c37d9f5a | 10 | |
skudmunky | 2:e1e9cca4d7e3 | 11 | MPL115A2 mpl_sensor(&i2c); |
skudmunky | 3:99befa3962d4 | 12 | |
skudmunky | 3:99befa3962d4 | 13 | BME280_SPI bme_sensor(p5, p6, p7, p8); // mosi, miso, sclk, cs |
skudmunky | 3:99befa3962d4 | 14 | |
skudmunky | 2:e1e9cca4d7e3 | 15 | TextLCD lcd(p24, p25, p26, p27, p28, p29); // rs, rw, e, d4, d5, d6, d7 |
skudmunky | 3:99befa3962d4 | 16 | |
skudmunky | 3:99befa3962d4 | 17 | InterruptIn button(p11); |
skudmunky | 3:99befa3962d4 | 18 | bool display_hPa = true; |
skudmunky | 3:99befa3962d4 | 19 | const double hPa2cmH2O = 1.01974428892; |
skudmunky | 3:99befa3962d4 | 20 | |
skudmunky | 3:99befa3962d4 | 21 | void toggleDisplayFormat() { |
skudmunky | 3:99befa3962d4 | 22 | display_hPa ^= display_hPa; |
skudmunky | 3:99befa3962d4 | 23 | } |
joeh | 0:118187295473 | 24 | |
joeh | 0:118187295473 | 25 | int main() { |
joeh | 0:118187295473 | 26 | |
skudmunky | 3:99befa3962d4 | 27 | bool display_hPa = true; |
skudmunky | 3:99befa3962d4 | 28 | |
skudmunky | 3:99befa3962d4 | 29 | button.rise(&toggleDisplayFormat); |
joeh | 0:118187295473 | 30 | |
skudmunky | 3:99befa3962d4 | 31 | mpl_sensor.begin(); |
skudmunky | 3:99befa3962d4 | 32 | |
skudmunky | 3:99befa3962d4 | 33 | // main loop |
joeh | 0:118187295473 | 34 | while(1) |
skudmunky | 3:99befa3962d4 | 35 | { |
skudmunky | 2:e1e9cca4d7e3 | 36 | mpl_sensor.ReadSensor(); |
skudmunky | 2:e1e9cca4d7e3 | 37 | lcd.cls(); // WITHOUT THIS THE ENDLESS BEEP OCCURS |
skudmunky | 3:99befa3962d4 | 38 | if(display_hPa) { |
skudmunky | 3:99befa3962d4 | 39 | lcd.printf("MPL: %4.4f hPa\nBME: %4.4f hPa%\n", |
skudmunky | 3:99befa3962d4 | 40 | mpl_sensor.GetPressure(), |
skudmunky | 3:99befa3962d4 | 41 | bme_sensor.getTemperature()); |
skudmunky | 3:99befa3962d4 | 42 | pc.printf("MPL: %4.4f hPa\nBME: %4.4f hPa%\n", |
skudmunky | 3:99befa3962d4 | 43 | mpl_sensor.GetPressure(), |
skudmunky | 3:99befa3962d4 | 44 | bme_sensor.getTemperature()); |
skudmunky | 3:99befa3962d4 | 45 | } |
skudmunky | 3:99befa3962d4 | 46 | else { |
skudmunky | 3:99befa3962d4 | 47 | lcd.printf("MPL: %4.4f cmH2O\nBME: %4.4f cmH2O%\n", |
skudmunky | 3:99befa3962d4 | 48 | (mpl_sensor.GetPressure() * hPa2cmH2O), |
skudmunky | 3:99befa3962d4 | 49 | (bme_sensor.getTemperature() * hPa2cmH2O)); |
skudmunky | 3:99befa3962d4 | 50 | pc.printf("MPL: %4.4f cmH2O\nBME: %4.4f cmH2O%\n", |
skudmunky | 3:99befa3962d4 | 51 | (mpl_sensor.GetPressure() * hPa2cmH2O), |
skudmunky | 3:99befa3962d4 | 52 | (bme_sensor.getTemperature() * hPa2cmH2O)); |
skudmunky | 3:99befa3962d4 | 53 | } |
joeh | 0:118187295473 | 54 | } |
joeh | 0:118187295473 | 55 | } |