秋月電子通商のBME280温湿度気圧モジュールにて高度を測定しました。 ボードはSTM32L152REを使いました。 meas attitude by BME280 Module of Akiduki and STM32L152RE. http://akizukidenshi.com/catalog/g/gK-09421/ http://www.st.com/content/st_com/ja/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-l152re.html
Fork of BME280_Hello by
秋月電子通商のBME280温湿度気圧モジュールにて高度を測定しました。 ボードはSTM32L152REを使いました。 Meas altitude by BME280 Module of Akiduki and STM32L152RE. http://akizukidenshi.com/catalog/g/gK-09421/ http://www.st.com/content/st_com/ja/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-l152re.html
main.cpp@4:36164592a7ea, 2016-06-28 (annotated)
- Committer:
- gitakichi
- Date:
- Tue Jun 28 15:22:35 2016 +0000
- Revision:
- 4:36164592a7ea
- Parent:
- 0:2c9585cecfde
- Child:
- 5:41f74665164b
????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MACRUM | 0:2c9585cecfde | 1 | #include "mbed.h" |
MACRUM | 0:2c9585cecfde | 2 | #include "BME280.h" |
MACRUM | 0:2c9585cecfde | 3 | |
gitakichi | 4:36164592a7ea | 4 | Serial pc(SERIAL_TX, SERIAL_RX); |
MACRUM | 0:2c9585cecfde | 5 | |
MACRUM | 0:2c9585cecfde | 6 | #if defined(TARGET_LPC1768) |
MACRUM | 0:2c9585cecfde | 7 | BME280 sensor(p28, p27); |
MACRUM | 0:2c9585cecfde | 8 | #else |
MACRUM | 0:2c9585cecfde | 9 | BME280 sensor(I2C_SDA, I2C_SCL); |
MACRUM | 0:2c9585cecfde | 10 | #endif |
MACRUM | 0:2c9585cecfde | 11 | |
gitakichi | 4:36164592a7ea | 12 | static double t0,p0; |
gitakichi | 4:36164592a7ea | 13 | |
gitakichi | 4:36164592a7ea | 14 | void altitude_setup() |
gitakichi | 4:36164592a7ea | 15 | { |
gitakichi | 4:36164592a7ea | 16 | t0 = sensor.getTemperature(); |
gitakichi | 4:36164592a7ea | 17 | p0 = sensor.getPressure(); |
gitakichi | 4:36164592a7ea | 18 | |
gitakichi | 4:36164592a7ea | 19 | } |
gitakichi | 4:36164592a7ea | 20 | |
gitakichi | 4:36164592a7ea | 21 | double altitude_calc() |
gitakichi | 4:36164592a7ea | 22 | { |
gitakichi | 4:36164592a7ea | 23 | double altitude; |
gitakichi | 4:36164592a7ea | 24 | |
gitakichi | 4:36164592a7ea | 25 | altitude = ((pow( p0 / sensor.getPressure() , 1 / 5.257) - 1) * (t0 + 273.15) ) / 0.0065; |
gitakichi | 4:36164592a7ea | 26 | |
gitakichi | 4:36164592a7ea | 27 | return altitude; |
gitakichi | 4:36164592a7ea | 28 | } |
gitakichi | 4:36164592a7ea | 29 | |
gitakichi | 4:36164592a7ea | 30 | |
gitakichi | 4:36164592a7ea | 31 | int main() |
gitakichi | 4:36164592a7ea | 32 | { |
gitakichi | 4:36164592a7ea | 33 | |
gitakichi | 4:36164592a7ea | 34 | float altitude; |
MACRUM | 0:2c9585cecfde | 35 | |
gitakichi | 4:36164592a7ea | 36 | altitude_setup(); |
gitakichi | 4:36164592a7ea | 37 | |
gitakichi | 4:36164592a7ea | 38 | |
MACRUM | 0:2c9585cecfde | 39 | while(1) { |
gitakichi | 4:36164592a7ea | 40 | |
gitakichi | 4:36164592a7ea | 41 | altitude = altitude_calc(); |
gitakichi | 4:36164592a7ea | 42 | |
gitakichi | 4:36164592a7ea | 43 | pc.printf("%.1nlf\n\r",altitude); |
gitakichi | 4:36164592a7ea | 44 | pc.printf("%2.2f degC, %04.2f hPa, %2.2f %%\n\r", sensor.getTemperature(), sensor.getPressure(), sensor.getHumidity()); |
gitakichi | 4:36164592a7ea | 45 | |
gitakichi | 4:36164592a7ea | 46 | wait(0.2); |
gitakichi | 4:36164592a7ea | 47 | |
MACRUM | 0:2c9585cecfde | 48 | } |
MACRUM | 0:2c9585cecfde | 49 | } |