цифровая электроника
вычислительная техника
встраиваемые системы

 

Arduino и датчик влажности, температуры и давления BME680

Автор: Mike(admin) от 9-10-2019, 05:15

Датчик BME680 от Bosch дает вам все, что вам нужно, в одном маленьком корпусе. Этот компактный сенсор обладает возможностями измерения температуры, влажности, атмосферного давления и газа. Он может передавать данные по интерфейсу SPI или I2C, при этом все эти возможности можно приобрести по сравнительно небольшой цене.


Arduino и датчик влажности, температуры и давления BME680

Как и BME280 и BMP280, этот прецизионный датчик от Bosch может измерять влажность с точностью ±3%, барометрическое давление с абсолютной точностью ±1 гПа и температуру с точностью ± 1,0 °C. Поскольку давление изменяется с высотой, и измерения давления настолько хороши, вы также можете использовать его как высотомер с точностью ±1 метр или выше.


BME680 лучше, чем предыдущие датчики, поскольку в нем содержится небольшой сенсор летучих органических соединений. Нагретый оксид металла изменяет сопротивление в зависимости от летучих органических соединений в воздухе, поэтому его можно использовать для обнаружения газов и спиртов, таких как этанол, спирт и угарный газ, и для измерения качества воздуха. Обратите внимание, что это даст вам одно значение сопротивления, с общим содержанием летучих органических соединений, он не может дифференцировать газы или спирты.


Пожалуйста, обратите внимание, что этот датчик, как и все датчики газа, имеет изменчивость, и для получения точных измерений вы хотите откалибровать его по известным источникам. Тем не менее, для стандартных датчиков окружающей среды, это даст вам хорошее представление о тенденциях и сравнений.


На сегодняшний день имеется немало плат с датчиками BME680, но принцип работы и связи у них всех одинаков.


BME680

В этом примере мы подключим датчик BME680 к Arduino и будем считывать данные о температуре, давлении, влажности, газе и высоте. Схема подключения датчика BME680 к Arduino показана далее.


Arduino и датчик влажности, температуры и давления BME680

Теперь перейдем к программированию. Вам нужно будет импортировать библиотеки датчиков adafruit и bme680 – вы можете добавить их с помощью менеджера библиотек. В нашем случае датчик использовал адрес 0x76, по умолчанию 0x77, поэтому вам, возможно, придется изменить строку с if (!Bme.begin(0x76)) на if (!Bme.begin ()). Полный код программы представлен далее.



#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_BME680.h"
 
 
#define SEALEVELPRESSURE_HPA (1013.25)
 
Adafruit_BME680 bme; // I2C
 
void setup() {
  Serial.begin(9600);
  while (!Serial);
  Serial.println(F("BME680 test"));
 
  if (!bme.begin(0x76))
  {
    Serial.println("Could not find a valid BME680 sensor, check wiring!");
    while (1);
  }
 
  bme.setTemperatureOversampling(BME680_OS_8X);
  bme.setHumidityOversampling(BME680_OS_2X);
  bme.setPressureOversampling(BME680_OS_4X);
  bme.setIIRFilterSize(BME680_FILTER_SIZE_3);
  bme.setGasHeater(320, 150); // 320*C for 150 ms
}
 
void loop()
{
  if (! bme.performReading())
  {
    Serial.println("Failed to perform reading :(");
    return;
  }
  Serial.print("Temperature = ");
  Serial.print(bme.temperature);
  Serial.println(" *C");
 
  Serial.print("Pressure = ");
  Serial.print(bme.pressure / 100.0);
  Serial.println(" hPa");
 
  Serial.print("Humidity = ");
  Serial.print(bme.humidity);
  Serial.println(" %");
 
  Serial.print("Gas = ");
  Serial.print(bme.gas_resistance / 1000.0);
  Serial.println(" KOhms");
 
  Serial.print("Approx. Altitude = ");
  Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
  Serial.println(" m");
 
  Serial.println();
  delay(2000);
}

В итоге должно в последовательном мониторе выводиться что-то вроде этого:


Arduino и датчик влажности, температуры и давления BME680



© digitrode.ru


Теги: Arduino, датчик температуры, датчик давления, датчик влажности, датчик газа, датчик высоты



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий