This commit is contained in:
2026-03-11 23:20:17 +01:00
parent 56890272a0
commit 62bd796f6c
3 changed files with 99 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
[env:esp32-s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
build_flags =
-D ARDUINO_USB_CDC_ON_BOOT=0
lib_deps =
adafruit/Adafruit MPU6050@^2.2.4
+61
View File
@@ -0,0 +1,61 @@
#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
static constexpr uint8_t SDA_PIN = 4;
static constexpr uint8_t SCL_PIN = 5;
Adafruit_MPU6050 mpu;
void scanI2C() {
Serial.println("[I2C] scan start");
uint8_t found = 0;
for (uint8_t addr = 1; addr < 127; addr++) {
Wire.beginTransmission(addr);
uint8_t err = Wire.endTransmission();
if (err == 0) {
Serial.printf("[I2C] found device at 0x%02X\n", addr);
found++;
}
}
if (!found) {
Serial.println("[I2C] no devices found");
}
Serial.println("[I2C] scan done");
}
void setup() {
Serial.begin(115200);
delay(500);
Serial.println();
Serial.println("ESP32-S3 I2C diagnostic");
Serial.printf("Pins: SDA=%u SCL=%u\n", SDA_PIN, SCL_PIN);
Wire.begin(SDA_PIN, SCL_PIN, 100000);
delay(100);
scanI2C();
if (!mpu.begin(0x68, &Wire)) {
Serial.println("[MPU] begin failed");
return;
}
mpu.setAccelerometerRange(MPU6050_RANGE_2_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("[MPU] begin ok");
sensors_event_t accel, gyro, temp;
mpu.getEvent(&accel, &gyro, &temp);
Serial.printf("[MPU] accel=(%.2f, %.2f, %.2f) temp=%.2f\n",
accel.acceleration.x, accel.acceleration.y, accel.acceleration.z, temp.temperature);
}
void loop() {
static uint32_t last = 0;
if (millis() - last > 3000) {
last = millis();
scanI2C();
}
}