i2c-motor-spin.ino
Ejemplo minimalista para inicializar la comunicación I2C y enviar un comando de velocidad al primer motor.
Utiliza el bus I2C predeterminado (GPIO 21/22 en ESP32/M5Stack). Verifique que la dirección 0x24 sea correcta. Este código es un esqueleto; para un control preciso (PID, posición), use la biblioteca oficial M5Stack_MotorDriverUnit.
i2c-motor-spin.ino
#include <Wire.h>
#define UNIT_ADDR 0x24
#define MOTOR_CH 1 // 1-4
#define SPEED 100 // 0-100%
void setup() {
Serial.begin(115200);
Wire.begin();
Serial.println("Starting Motor Driver Unit...");
}
void loop() {
// Commande simplifiée via registre de contrôle (exemple générique M5Stack)
// Note : L'API réelle nécessite souvent la lib M5Stack_MotorDriverUnit
// Ici, simulation d'une écriture bas niveau pour l'exemple
Wire.beginTransmission(UNIT_ADDR);
Wire.write(0x01); // Registre de commande
Wire.write(MOTOR_CH);
Wire.write(SPEED); // Vitesse positive = avance
Wire.endTransmission();
delay(1000);
}