differential-drive-robot.ino
Control coordinado de dos motores para la navegación de un robot móvil usando velocidad diferencial.
Los motores 1 y 2 se usan como ruedas izquierda y derecha. El modo SPEED asegura una regulación estable. Ajuste los signos (+/-) según el montaje físico de los motores en el chasis.
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);
}