i2c-motor-spin.ino

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

Exemple minimaliste pour initialiser la communication I2C et envoyer une commande de vitesse sur le premier moteur.

Utilise le bus I2C par défaut (GPIO 21/22 sur ESP32/M5Stack). Vérifiez que l'adresse 0x24 est correcte. Ce code est un squelette ; pour un contrôle précis (PID, position), utilisez la bibliothèque officielle 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);
}

← Retour à la fiche