#include #define BNO08X_I2C_ADDR 0x4A const int buttonPin = D7; const int ledPin = D6; int buttonState = 0; int lastButtonState = 0; Adafruit_BNO08x bno08x; sh2_SensorValue_t sensorValue; void setup() { Serial.begin(115200); pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); // Initialize sensor bno08x.begin_I2C(BNO08X_I2C_ADDR); bno08x.enableReport(SH2_ACCELEROMETER); Serial.println("Ready - Press button"); } void loop() { buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); if (lastButtonState == LOW) { // Button just pressed - read sensor if (bno08x.getSensorEvent(&sensorValue)) { if (sensorValue.sensorId == SH2_ACCELEROMETER) { // Print timestamp and X,Y,Z values Serial.print(millis()); Serial.print(" ms: "); Serial.print(sensorValue.un.accelerometer.x, 2); Serial.print(", "); Serial.print(sensorValue.un.accelerometer.y, 2); Serial.print(", "); Serial.println(sensorValue.un.accelerometer.z, 2); } } } } else { digitalWrite(ledPin, LOW); } lastButtonState = buttonState; delay(10); }