From ad36a04f40cd9d10379362280d54be5fb4c34add Mon Sep 17 00:00:00 2001 From: Luthics Date: Sat, 17 Dec 2022 20:46:19 +0800 Subject: [PATCH] mpu update --- platformio.ini | 1 + src/mpu.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/platformio.ini b/platformio.ini index 8e3d90a..23e8be4 100644 --- a/platformio.ini +++ b/platformio.ini @@ -18,4 +18,5 @@ lib_deps = ottowinter/ESPAsyncWebServer-esphome@^3.0.0 teckel12/NewPing@^1.9.5 gitlab-airbornemint/Protothreads@^1.4.0-arduino.beta.1 + adafruit/Adafruit MPU6050@^2.2.4 monitor_speed = 115200 diff --git a/src/mpu.cpp b/src/mpu.cpp index e69de29..3bcfc97 100644 --- a/src/mpu.cpp +++ b/src/mpu.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include + +Adafruit_MPU6050 mpu; + +void mpu_init() { + if (!mpu.begin()) { + while (1) { + delay(10); + } + } + mpu.setHighPassFilter(MPU6050_HIGHPASS_0_63_HZ); + mpu.setMotionDetectionThreshold(1); + mpu.setMotionDetectionDuration(20); + mpu.setInterruptPinLatch(true); + mpu.setInterruptPinPolarity(true); + mpu.setMotionInterrupt(true); +} + +void mpu_loop() { + if (mpu.getMotionInterruptStatus()) { + sensors_event_t a, g, temp; + mpu.getEvent(&a, &g, &temp); + Serial.print("AccelX:"); + Serial.print(a.acceleration.x); + Serial.print(","); + Serial.print("AccelY:"); + Serial.print(a.acceleration.y); + Serial.print(","); + Serial.print("AccelZ:"); + Serial.print(a.acceleration.z); + Serial.print(", "); + Serial.print("GyroX:"); + Serial.print(g.gyro.x); + Serial.print(","); + Serial.print("GyroY:"); + Serial.print(g.gyro.y); + Serial.print(","); + Serial.print("GyroZ:"); + Serial.print(g.gyro.z); + Serial.println(""); + } +} \ No newline at end of file