BME280 Sample

Dependencies:   AQM0802 BME280 mbed

Committer:
yasuyuki
Date:
Mon Nov 23 07:52:59 2015 +0000
Revision:
0:a45809ba4aab
release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yasuyuki 0:a45809ba4aab 1 //**********************
yasuyuki 0:a45809ba4aab 2 // Hygrometer, Thermometer and Pressure for mbed
yasuyuki 0:a45809ba4aab 3 //
yasuyuki 0:a45809ba4aab 4 // LPC1768 flash=512KB, ADC=12bits
yasuyuki 0:a45809ba4aab 5 // LPC11U35 flash=64KB, ADC=10bits
yasuyuki 0:a45809ba4aab 6 // Nucleo ADC=12bits
yasuyuki 0:a45809ba4aab 7 //
yasuyuki 0:a45809ba4aab 8 // (C)Copyright 2015 All rights reserved by Y.Onodera
yasuyuki 0:a45809ba4aab 9 // http://einstlab.web.fc2.com
yasuyuki 0:a45809ba4aab 10 //**********************
yasuyuki 0:a45809ba4aab 11 #include "mbed.h"
yasuyuki 0:a45809ba4aab 12 #include "AQM0802.h"
yasuyuki 0:a45809ba4aab 13 #include "BME280.h"
yasuyuki 0:a45809ba4aab 14
yasuyuki 0:a45809ba4aab 15 #if defined(TARGET_LPC1768)
yasuyuki 0:a45809ba4aab 16 I2C i2c(p28,p27);
yasuyuki 0:a45809ba4aab 17 #endif
yasuyuki 0:a45809ba4aab 18 // for TG-LPC11U35-501
yasuyuki 0:a45809ba4aab 19 #if defined(TARGET_LPC11U35_501)
yasuyuki 0:a45809ba4aab 20 I2C i2c(P0_5,P0_4);
yasuyuki 0:a45809ba4aab 21 #endif
yasuyuki 0:a45809ba4aab 22 // for Nucleo
yasuyuki 0:a45809ba4aab 23 #if defined(TARGET_NUCLEO_F401RE)
yasuyuki 0:a45809ba4aab 24 I2C i2c(D14,D15);
yasuyuki 0:a45809ba4aab 25 #endif
yasuyuki 0:a45809ba4aab 26
yasuyuki 0:a45809ba4aab 27 AQM0802 lcd(i2c);
yasuyuki 0:a45809ba4aab 28 BME280 bme280(i2c);
yasuyuki 0:a45809ba4aab 29
yasuyuki 0:a45809ba4aab 30 int main() {
yasuyuki 0:a45809ba4aab 31
yasuyuki 0:a45809ba4aab 32 char msg[10];
yasuyuki 0:a45809ba4aab 33 float h;
yasuyuki 0:a45809ba4aab 34 float t;
yasuyuki 0:a45809ba4aab 35 float p;
yasuyuki 0:a45809ba4aab 36
yasuyuki 0:a45809ba4aab 37 while(1) {
yasuyuki 0:a45809ba4aab 38
yasuyuki 0:a45809ba4aab 39 h = bme280.humidity();
yasuyuki 0:a45809ba4aab 40 h = h/1024;
yasuyuki 0:a45809ba4aab 41 sprintf(msg,"%5.2f%% ",h);
yasuyuki 0:a45809ba4aab 42 lcd.locate(0,0);
yasuyuki 0:a45809ba4aab 43 lcd.print(msg);
yasuyuki 0:a45809ba4aab 44 wait(2);
yasuyuki 0:a45809ba4aab 45
yasuyuki 0:a45809ba4aab 46 t = bme280.temperature();
yasuyuki 0:a45809ba4aab 47 t = t/100;
yasuyuki 0:a45809ba4aab 48 sprintf(msg,"%5.2fC ",t);
yasuyuki 0:a45809ba4aab 49 lcd.locate(0,0);
yasuyuki 0:a45809ba4aab 50 lcd.print(msg);
yasuyuki 0:a45809ba4aab 51 wait(2);
yasuyuki 0:a45809ba4aab 52
yasuyuki 0:a45809ba4aab 53 p = bme280.pressure();
yasuyuki 0:a45809ba4aab 54 p = p/256;
yasuyuki 0:a45809ba4aab 55 sprintf(msg,"%6.0fPa ",p);
yasuyuki 0:a45809ba4aab 56 lcd.locate(0,0);
yasuyuki 0:a45809ba4aab 57 lcd.print(msg);
yasuyuki 0:a45809ba4aab 58 wait(2);
yasuyuki 0:a45809ba4aab 59 }
yasuyuki 0:a45809ba4aab 60
yasuyuki 0:a45809ba4aab 61 }
yasuyuki 0:a45809ba4aab 62