m5stack-encoder-motor-i2c-esp32.ino

Unité de pilotage moteur à encodeur M5Stack (DRV8837DSGR) · Fichier : m5stack-encoder-motor-i2c-esp32.ino · Langage : C++ (Arduino) · Usage : Initialiser la communication I2C avec l'unité Encoder Motor Driver sur un ESP32 et vérifier la présence du périphérique.

Exemple minimal pour détecter l'unité via le bus I2C sur un ESP32.

Ce code utilise la bibliothèque Wire standard d'Arduino. Il configure le bus I2C sur les broches par défaut de l'ESP32 (GPIO21/22). Il tente d'envoyer une trame à l'adresse 0x2F pour confirmer la connexion physique. Si le retour est 0, le périphérique est présent. Assurez-vous que l'alimentation externe 6-12V est connectée pour que le circuit logique fonctionne correctement.

m5stack-encoder-motor-i2c-esp32.ino

#include <Wire.h>

// Adresse I2C par défaut du DRV8837DSGR Unit
#define I2C_ADDRESS 0x2F

void setup() {
  Serial.begin(115200);
  Wire.begin(); // Initialisation I2C par défaut (GPIO21 SDA, GPIO22 SCL sur ESP32)

  Serial.println("Searching for Encoder Motor Driver Unit...");
  
  // Vérification simple de la présence du périphérique
  Wire.beginTransmission(I2C_ADDRESS);
  if (Wire.endTransmission() == 0) {
    Serial.println("Found Encoder Motor Driver Unit at 0x2F");
  } else {
    Serial.println("Device not found. Check wiring or address.");
  }
}

void loop() {
  delay(1000);
}

← Retour à la fiche