Pressure sensor + Oled display SSD1306 32*128

Dependencies:   mbed Adafruit_GFX BMP180

Committer:
Taraskin
Date:
Wed Oct 09 21:30:55 2019 +0000
Revision:
0:a1bf4bcd163a
BMP180 + SSD1306 32*128

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Taraskin 0:a1bf4bcd163a 1 #include "mbed.h"
Taraskin 0:a1bf4bcd163a 2 #include "Adafruit_SSD1306.h"
Taraskin 0:a1bf4bcd163a 3 #include "BMP180.h"
Taraskin 0:a1bf4bcd163a 4
Taraskin 0:a1bf4bcd163a 5 DigitalOut myled_R(LED1);
Taraskin 0:a1bf4bcd163a 6
Taraskin 0:a1bf4bcd163a 7 I2C i2c(PB_9, PB_8); // SDA, SCL arduino pins
Taraskin 0:a1bf4bcd163a 8
Taraskin 0:a1bf4bcd163a 9 Adafruit_SSD1306_I2c myOled(i2c,NC,0x78,32,128);
Taraskin 0:a1bf4bcd163a 10 BMP180 bmp180(&i2c);
Taraskin 0:a1bf4bcd163a 11
Taraskin 0:a1bf4bcd163a 12 int main(void) {
Taraskin 0:a1bf4bcd163a 13
Taraskin 0:a1bf4bcd163a 14 while(1) {
Taraskin 0:a1bf4bcd163a 15 if (bmp180.init() != 0) {
Taraskin 0:a1bf4bcd163a 16 printf("Error communicating with BMP180\n");
Taraskin 0:a1bf4bcd163a 17 } else {
Taraskin 0:a1bf4bcd163a 18 printf("Initialized BMP180\n");
Taraskin 0:a1bf4bcd163a 19 break;
Taraskin 0:a1bf4bcd163a 20 }
Taraskin 0:a1bf4bcd163a 21 wait(1);
Taraskin 0:a1bf4bcd163a 22 }
Taraskin 0:a1bf4bcd163a 23
Taraskin 0:a1bf4bcd163a 24 while(1) {
Taraskin 0:a1bf4bcd163a 25 bmp180.startTemperature();
Taraskin 0:a1bf4bcd163a 26 wait_ms(5); // Wait for conversion to complete.
Taraskin 0:a1bf4bcd163a 27 float temp;
Taraskin 0:a1bf4bcd163a 28 if(bmp180.getTemperature(&temp) != 0) {
Taraskin 0:a1bf4bcd163a 29 printf("Error getting temperature\n");
Taraskin 0:a1bf4bcd163a 30 continue;
Taraskin 0:a1bf4bcd163a 31 }
Taraskin 0:a1bf4bcd163a 32
Taraskin 0:a1bf4bcd163a 33 bmp180.startPressure(BMP180::ULTRA_LOW_POWER);
Taraskin 0:a1bf4bcd163a 34 wait_ms(10); // Wait for conversion to complete
Taraskin 0:a1bf4bcd163a 35 int pressure;
Taraskin 0:a1bf4bcd163a 36 if(bmp180.getPressure(&pressure) != 0) {
Taraskin 0:a1bf4bcd163a 37 printf("Error getting pressure\n");
Taraskin 0:a1bf4bcd163a 38 continue;
Taraskin 0:a1bf4bcd163a 39 }
Taraskin 0:a1bf4bcd163a 40
Taraskin 0:a1bf4bcd163a 41 myOled.printf("Temp= %f\r", temp);
Taraskin 0:a1bf4bcd163a 42 myOled.display();
Taraskin 0:a1bf4bcd163a 43 wait(0.01);
Taraskin 0:a1bf4bcd163a 44
Taraskin 0:a1bf4bcd163a 45 }
Taraskin 0:a1bf4bcd163a 46 }