Wire1' was not declared in this scope в библиотеке I2C_MPU6886
Недавно я приобрел 6-осевой модуль IMU MCP6886 от M5Stack. Ссылка на продукт: https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/IMU_Unit. Пример кода, предоставленный производителем, выглядит следующим образом:
#include "I2C_MPU6886.h"
I2C_MPU6886 imu(I2C_MPU6886_DEFAULT_ADDRESS, Wire1);
void setup() {
Serial.begin(115200);
delay(1000);
Wire1.begin(21, 22);
imu.begin();
Serial.print("whoAmI() = 0x%02x\n", imu.whoAmI());
}
void loop() {
float ax;
float ay;
float az;
float gx;
float gy;
float gz;
float t;
imu.getAccel(&ax, &ay, &az);
imu.getGyro(&gx, &gy, &gz);
imu.getTemp(&t);
Serial.print("%f,%f,%f,%f,%f,%f,%f\n", ax, ay, az, gx, gy, gz, t);
delay(100);
}
Когда я запускаю этот код в Arduino IDE 1.8.19, я получаю следующую ошибку: ''Wire1' was not declared in this scope'. Я полагаю, что эта проблема связана с самой библиотекой I2C_MPU6886, но я не могу устранить ее. Я использую плату Arduino Uno R3 и запускаю IDE в Windows 11.
@aninini, 👍-2
Обсуждение1 ответ
"M5Stack" - это экосистема плат и периферийных устройств на базе ESP32.
Весь код для периферийных устройств M5Stack написан для системы M5Stack. Не для UNO.
Вы должны найти код для Uno, а не для M5Stack. Код M5Stack не будет работать на Uno, поскольку это совершенно другая система.
- Отправка и получение различных типов данных через I2C в Arduino
- Как выбрать альтернативные контакты I2C на ESP32?
- Альтернативы библиотеке Wire для I2C
- Как подключить MPU9250 к NodeMCU с помощью SPI или I2C Slave?
- Библиотека Wire.h работает на Uno, но не компилируется для ATtiny85
- Вызов I2C во время Wire.requestFrom
- I2C связь между Arduino Uno и Nodemcu32-s (ESP32)
- Как обнаружить ошибки I2C с помощью requestFrom()
Какой процессор вы используете?, @romkey
Я использую плату Arduino Uno R3
- значит ... не M5Stack ...? Итак, почему вы используете код M5Stack ...?, @Majenko