-
Notifications
You must be signed in to change notification settings - Fork 0
Description
This is not owrking with Arduino UNO Q. Please fix it!
If you use my demo version: https://github.com/mauringo/BME690-Arduino-lib-unofficial.
Please take care that this is just a demo
With the code below that would be a nice starting point :)
/**
- Copyright (C) 2021 Bosch Sensortec GmbH
- SPDX-License-Identifier: BSD-3-Clause
*/
#include <Wire.h>
#include "Arduino.h"
#include "bme69xLibrary.h"
#include <Arduino_RouterBridge.h>
#include "ArduinoGraphics.h"
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
Bme69x bme;
/**
-
@brief Initializes the sensor and hardware settings
*/
void setup(void)
{
Wire1.begin();
Monitor.begin();matrix.begin();
matrix.textFont(Font_4x6);
matrix.textScrollSpeed(100);
matrix.clear();while (!Monitor)
delay(10);/* initializes the sensor based on SPI library */
bme.begin(0x76,Wire1);if(bme.checkStatus())
{
if (bme.checkStatus() == BME69X_ERROR)
{
Monitor.println("Sensor error:" + bme.statusString());
return;
}
else if (bme.checkStatus() == BME69X_WARNING)
{
Monitor.println("Sensor Warning:" + bme.statusString());
}
}/* Set the default configuration for temperature, pressure and humidity */
bme.setTPH();/* Set the heater configuration to 300 deg C for 100ms for Forced mode */
bme.setHeaterProf(300, 100);Monitor.println("TimeStamp(ms), Temperature(deg C), Pressure(Pa), Humidity(%), Gas resistance(ohm), Status");
}
void loop(void)
{
bme69xData data;
bme.setOpMode(BME69X_FORCED_MODE);
delayMicroseconds(bme.getMeasDur());
if (bme.fetchData())
{
bme.getData(data);
Monitor.print(String(millis()) + ", ");
Monitor.print(String(data.temperature) + ", ");
Monitor.print(String(data.pressure) + ", ");
Monitor.print(String(data.humidity) + ", ");
Monitor.print(String(data.gas_resistance) + ", ");
Monitor.println(data.status, HEX);
matrix.beginText(1, 1, 127, 0, 0); // X, Y, then R, G, B
matrix.print(String(int(data.temperature))+"C");
matrix.endText(NO_SCROLL);
delay(1000);
delay(1000); //wait 2 mins
}
}