Skip to content

Not working with arduino UNO Q - Here is the fix. #3

@mauringo

Description

@mauringo

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

}

}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions