Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * работа с BMP-280
- * Инициализация датчика и получение мгновенных и средних за период значений
- */
- #include "my_BMP280.h"
- #define BME280_ADDRESS 0x76
- Adafruit_BMP280 bmp;
- // Для поиска средних показателей за период
- float temperatureIndoorSumPeriod = 0;
- int temperatureIndoorCountPeriod = 0;
- float pressureSumPeriod = 0;
- int pressureCountPeriod = 0;
- //********** CHANGE PIN FUNCTION TO GPIO **********
- void changePinFunc(void)
- {
- //GPIO 1 (TX) swap the pin to a GPIO.
- pinMode(1, FUNCTION_3);
- //GPIO 3 (RX) swap the pin to a GPIO.
- pinMode(3, FUNCTION_3);
- Wire.pins(1, 3);
- Wire.begin(1, 3);
- delay(1000);
- }
- bool begin_BMP280(void)
- {
- changePinFunc();
- return bmp.begin(BME280_ADDRESS);
- }
- float getTemperatureIndoorRealTime(void)
- {
- float t = bmp.readTemperature();
- temperatureIndoorSumPeriod = temperatureIndoorSumPeriod + t;
- temperatureIndoorCountPeriod = temperatureIndoorCountPeriod + 1;
- return t;
- }
- float getPressureRealTime(void)
- {
- float p = bmp.readPressure() / 133.32239F;
- pressureSumPeriod = pressureSumPeriod + p;
- pressureCountPeriod = pressureCountPeriod + 1;
- return p;
- }
- float getTemperatureIndoorAvgPeriod(void)
- {
- float t = temperatureIndoorSumPeriod / temperatureIndoorCountPeriod;
- temperatureIndoorSumPeriod = 0;
- temperatureIndoorCountPeriod = 0;
- return t;
- }
- float getPressureAvgPeriod(void)
- {
- float p = pressureSumPeriod/pressureCountPeriod ;
- pressureCountPeriod = 0;
- pressureSumPeriod = 0;
- return p;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement