differential-drive-robot.ino

Unit 4-Encoder Motor Driver (DRV8837DSGR) · Fichier : differential-drive-robot.ino · Langage : arduino · Usage : Piloter un châssis à deux roues différentielles pour une trajectoire courbe.

Contrôle coordonné de deux moteurs pour la navigation d'un robot mobile en utilisant la vitesse différentielle.

Les moteurs 1 et 2 sont utilisés comme roues gauche et droite. Le mode SPEED assure une régulation stable. Adaptez les signes (+/-) selon le montage physique des moteurs sur le châssis.

differential-drive-robot.ino

#include <M5Stack_MotorDriverUnit.h>

M5Stack_MotorDriverUnit motorDriver;

void setup() {
  M5.begin();
  motorDriver.begin();
  motorDriver.setMode(1, MODE_SPEED);
  motorDriver.setMode(2, MODE_SPEED);
}

void loop() {
  // Avancer en ligne droite
  motorDriver.setSpeed(1, 40);
  motorDriver.setSpeed(2, 40);
  delay(2000);
  
  // Tourner à droite (roue gauche avance, roue droite recule ou s'arrête)
  motorDriver.setSpeed(1, 40);
  motorDriver.setSpeed(2, -40);
  delay(1000);
  
  // Arrêt progressif
  motorDriver.setSpeed(1, 0);
  motorDriver.setSpeed(2, 0);
  delay(1000);
}

← Retour à la fiche