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
}