BME280 Sample
Dependencies: AQM0802 BME280 mbed
main.cpp@0:a45809ba4aab, 2015-11-23 (annotated)
- Committer:
- yasuyuki
- Date:
- Mon Nov 23 07:52:59 2015 +0000
- Revision:
- 0:a45809ba4aab
release
Who changed what in which revision?
User | Revision | Line number | New 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 |