BMP180 and LCD keypad example

14

In this example we will take the previous bmp180 example – Nucleo and BMP180 example. This time again we will connect an LCD Keypad shield and display the temperature and pressure on the display.

 

Code

You will need the freetronics lcd keypad shield library

#include "mbed.h"
#include "freetronicsLCDShield.h"
#include "BMP180.h"
 
I2C i2c(I2C_SDA, I2C_SCL);
freetronicsLCDShield lcd(D8, D9, D4, D5, D6, D7, D1, A0);
BMP180 bmp180(&i2c);
 
 
int n=0;
 
int main() 
{
    lcd.cls();
    lcd.printf("Initiliazing");
    lcd.setCursorPosition(1, 0);
 
    while(1) {
        if (bmp180.init() != 0) {
            lcd.printf("Comms error");
        } else {
            lcd.printf("Initialized BMP180");
            break;
        }
        wait(1);
    }
 
 
    while(1)
    {
        bmp180.startTemperature();
        wait_ms(5);     // Wait for conversion to complete
        float temp;
        lcd.cls();
        if(bmp180.getTemperature(&temp) != 0) 
        {
            lcd.setCursorPosition(0, 0);
            lcd.printf("Error temp");
            continue;
        }
 
       bmp180.startPressure(BMP180::ULTRA_LOW_POWER);
        wait_ms(10);    // Wait for conversion to complete
        int pressure;
        if(bmp180.getPressure(&pressure) != 0) 
        {
            lcd.printf("Error pres");
            continue;
        }
 
        lcd.setCursorPosition(0, 0);
        lcd.printf("Temp : ");
        lcd.setCursorPosition(0, 7);
        lcd.printf("%2.1f",temp);
        lcd.setCursorPosition(1, 0);
        lcd.printf("Pres : ");
        lcd.setCursorPosition(1, 7);
        lcd.printf("%d",pressure);
        wait_ms(1000);
 
 
    }
}

Links
1PCS GY-68 BMP180 Replace BMP085 Digital Barometric Pressure Sensor Module For Arduino

1602 LCD Board Keypad Shield Blue Backligh

Share