Hack du Robot WowWee MIP – Partie 2

La partie une qui date d’il y a des années consisté à « juste » faire entrer un ESP32 et une LIPO 2S dans le robot MIP.
J’ai branché mon ESP32 sur les port UART (série) du MIP.
Le port GPIO16 de mon ESP sur le TX du Robot, et le GPIO17 sur le RX du Robot. Ensuite j’ai alimenté l’ESP en 5 volts via une LIPO et un UBEC de transformation 7.4 vers 5 Volts.
Ensuite j’ai utilisé la description de cé dépôt Git https://github.com/WowWeeLabs/MiP-BLE-Protocol/blob/master/MiP-Protocol.md qui explique qu’elle valeur envoyer au Robot MIP pour lui donner des commande.
Voila mon premier exemple, il permet de faire avancer et reculer le robot, c’est simple mais ca FONCTIONNE, et çà c’est déjà cool ! La suite prochainement 🙂

// Définir les broches RX et TX pour Serial1
#define RXD1 16
#define TXD1 17

void setup() {
  // Initialiser Serial1 avec les bonnes broches et le baud rate
  Serial1.begin(115200, SERIAL_8N1, RXD1, TXD1);
}

void loop() {
  // Envoyer la commande d'initialisation
  Serial1.write(0xFF);
  delay(30); // Délai pour la stabilité

  // 1. Clignoter le torse en vert
  Serial1.write(0x89);
  Serial1.write(0x00);
  Serial1.write(0xFF);
  Serial1.write(0x00);
  Serial1.write(0x01);
  Serial1.write(0x10);
  
  // Attendre un court instant pour laisser le temps de clignoter
  delay(500);

  // 2. Faire avancer le robot
  Serial1.write(0x71);  // Commande pour avancer
  Serial1.write(0x1E);  // Vitesse (30 en décimal)
  Serial1.write(0xFF);  // Durée maximale

  // Attendre le temps que le robot avance
  delay(2000);  // Ajuste ce délai en fonction de la durée souhaitée de l'avance

  // 3. Faire reculer le robot
  Serial1.write(0x72);  // Commande pour reculer
  Serial1.write(0x1E);  // Vitesse (30 en décimal)
  Serial1.write(0xFF);  // Durée maximale

  // Attendre le temps que le robot recule
  delay(2000);  // Ajuste ce délai en fonction de la durée souhaitée du recul

  // Délai avant de recommencer la boucle
  delay(1000);  // Délai de 1 seconde avant de réexécuter la boucle
}