Nuvoton
/
NuMaker-mbed-Sensor-BME680-example
NuMaker Env. Sensor BME680 example
main.cpp@1:cd153d864ea3, 2020-06-16 (annotated)
- Committer:
- cyliang
- Date:
- Tue Jun 16 06:15:33 2020 +0000
- Revision:
- 1:cd153d864ea3
- Parent:
- 0:a0e92a018ff2
Change I2C object name to be compatible with BME680 lib
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
morgandu | 0:a0e92a018ff2 | 1 | #include "mbed.h" |
morgandu | 0:a0e92a018ff2 | 2 | #include "mbed_bme680.h" |
morgandu | 0:a0e92a018ff2 | 3 | |
morgandu | 0:a0e92a018ff2 | 4 | #if TARGET_NUMAKER_IOT_M263A |
cyliang | 1:cd153d864ea3 | 5 | I2C i2c(PD_4, PD_5); |
morgandu | 0:a0e92a018ff2 | 6 | #else |
cyliang | 1:cd153d864ea3 | 7 | I2C i2c(I2C_SDA, I2C_SCL); // Used inside the BME680 Mbed Lib. |
morgandu | 0:a0e92a018ff2 | 8 | #endif |
morgandu | 0:a0e92a018ff2 | 9 | |
morgandu | 0:a0e92a018ff2 | 10 | BME680 bme680(0x76 << 1); |
morgandu | 0:a0e92a018ff2 | 11 | |
morgandu | 0:a0e92a018ff2 | 12 | int main() |
morgandu | 0:a0e92a018ff2 | 13 | { |
morgandu | 0:a0e92a018ff2 | 14 | int count = 10; |
morgandu | 0:a0e92a018ff2 | 15 | |
morgandu | 0:a0e92a018ff2 | 16 | if (!bme680.begin()) { |
morgandu | 0:a0e92a018ff2 | 17 | printf("BME680 Begin failed \r\n"); |
morgandu | 0:a0e92a018ff2 | 18 | return 1; |
morgandu | 0:a0e92a018ff2 | 19 | } |
morgandu | 0:a0e92a018ff2 | 20 | |
morgandu | 0:a0e92a018ff2 | 21 | while (true) { |
morgandu | 0:a0e92a018ff2 | 22 | if (++count >= 10) |
morgandu | 0:a0e92a018ff2 | 23 | { |
morgandu | 0:a0e92a018ff2 | 24 | count = 0; |
morgandu | 0:a0e92a018ff2 | 25 | printf("\r\nTemperature Humidity Pressure VOC\r\n" |
morgandu | 0:a0e92a018ff2 | 26 | " degC %% hPa KOhms\r\n" |
morgandu | 0:a0e92a018ff2 | 27 | "------------------------------------------\r\n"); |
morgandu | 0:a0e92a018ff2 | 28 | } |
morgandu | 0:a0e92a018ff2 | 29 | |
morgandu | 0:a0e92a018ff2 | 30 | if (bme680.performReading()) |
morgandu | 0:a0e92a018ff2 | 31 | { |
morgandu | 0:a0e92a018ff2 | 32 | printf(" %.2f ", bme680.getTemperature()); |
morgandu | 0:a0e92a018ff2 | 33 | printf("%.2f ", bme680.getHumidity()); |
morgandu | 0:a0e92a018ff2 | 34 | printf("%.2f ", bme680.getPressure() / 100.0); |
morgandu | 0:a0e92a018ff2 | 35 | printf("%0.2f\r\n", bme680.getGasResistance() / 1000.0); |
morgandu | 0:a0e92a018ff2 | 36 | } |
morgandu | 0:a0e92a018ff2 | 37 | |
morgandu | 0:a0e92a018ff2 | 38 | thread_sleep_for(1000); |
morgandu | 0:a0e92a018ff2 | 39 | } |
morgandu | 0:a0e92a018ff2 | 40 | } |