i2c-motor-spin.ino

Unit 4-Encoder Motor Driver (DRV8837DSGR) · Archivo : i2c-motor-spin.ino · Lenguaje : arduino · Uso : Faire tourner un moteur DC sur le canal 1 à vitesse constante.

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);
}

← Volver a la ficha