BME688 Environmental Sensor 4-in-1
The BME688 Environmental Sensor 4-in-1 is a versatile sensor module that combines temperature, humidity, pressure, and gas sensing capabilities in a single compact package. It utilizes the BME688 sensor from Bosch, which is known for its high accuracy and low power consumption. This module is ideal for applications in environmental monitoring, IoT devices, and .
Key Sensor Features
Enhance your application with the sensor's robust capabilities:
Feature | Description |
---|---|
Relative Humidity | Accurately measures ambient moisture for precise environmental monitoring. |
Barometric Pressure | Detects atmospheric pressure changes to support dynamic weather tracking. |
Excellent Temperature Stability | Delivers consistent temperature readings even under varying conditions. |
Gas Sensing | Monitors a range of gases to help identify potential environmental hazards. |
Overview
Feature | Description |
---|---|
Sensor | BME688 Environmental Sensor |
Communication Protocol | I2C and SPI |
Power Supply | 1.71V to 3.6V |
Use Cases
- Environmental Monitoring: Ideal for tracking air quality, humidity, temperature, and pressure in smart homes and industrial applications.
- IoT Devices: Can be integrated into IoT systems for real-time environmental data collection and analysis.
- Weather Stations: Useful in DIY weather stations for accurate weather forecasting and monitoring.
- Smart Agriculture: Helps in monitoring soil and air conditions to optimize crop growth and yield.
- Wearable Devices: Can be used in health and fitness wearables to monitor
Example Code
```c
#include <Arduino.h>
#include "bme68xLibrary.h"
#include <Wire.h>
#define SDA_PIN 21
#define SCL_PIN 22
Bme68x bme;
void setup() {
Serial.begin(115200);
while (!Serial) delay(10);
Wire.begin(SDA_PIN, SCL_PIN);
Wire.setClock(100000);
bme.begin(0x77, Wire);
if (bme.checkStatus() == BME68X_ERROR) {
Serial.println("Error: BME688 not detected.");
while (1);
}
Serial.println("Sensor BME688 initialized successfully.");
bme.setTPH();
bme.setHeaterProf(300, 100);
Serial.println("Time(ms), Temp(°C), Pressure(Pa), Humidity(%), Gas(Ω), Status");
}
void loop() {
bme68xData data;
bme.setOpMode(BME68X_FORCED_MODE);
delayMicroseconds(bme.getMeasDur());
if (bme.fetchData()) {
bme.getData(data);
Serial.print(millis()); Serial.print(", ");
Serial.print(data.temperature); Serial.print(", ");
Serial.print(data.pressure); Serial.print(", ");
Serial.print(data.humidity); Serial.print(", ");
Serial.print(data.gas_resistance); Serial.print(", ");
Serial.println(data.status, HEX);
}
delay(100);
}
Template created by UNIT Electronics