Code pour la validation du câblage des moteurs

This commit is contained in:
Samuel 2025-01-04 18:49:19 +01:00
parent 920ef67393
commit 44b17271d4
2 changed files with 33 additions and 23 deletions

View File

@ -1,12 +1,9 @@
De lart de déplacer un robot avec classe - Teleplot De lart de déplacer un robot avec classe - Câblage des moteurs
==================================================== ===============================================================
Le but est de vous proposer une série darticles vous présentant les arcanes du déplacement dun robot, en fournissant à chaque étape une idée de démonstration et les principales pistes de débogage. Les articles sont disponibles ici : [Wiki Eurobot](https://www.eurobot.org/wiki/fr/informatics/de_l_art_de_deplacer_son_robot_avec_classe) Le but est de vous proposer une série darticles vous présentant les arcanes du déplacement dun robot, en fournissant à chaque étape une idée de démonstration et les principales pistes de débogage. Les articles sont disponibles ici : [Wiki Eurobot](https://www.eurobot.org/wiki/fr/informatics/de_l_art_de_deplacer_son_robot_avec_classe)
Temps Câblage des moteurs
----- -------------------
Ajout de la gestion du temps à l'aide de trois fonctions simples. Le code principal permet de tester le bon fonctionnement des moteurs, afin de valider leur câblage.
- Une fonction qui incrémente notre temps de 1.
- Une fonction dinitialisation qui crée linterruption qui appellera notre fonction précédente toutes les 1 millisecondes.
- Une fonction qui renvoie le nombre de milliseconde écoulée depuis linitialisation.

43
main.c
View File

@ -25,22 +25,35 @@ void setup(void){
stdio_init_all(); stdio_init_all();
Teleplot_init(); Teleplot_init();
Temps_init(); Temps_init();
// Broches des moteurs gérées en GPIO
gpio_init(7);
gpio_init(13);
gpio_init(27);
gpio_init(5);
gpio_init(10);
gpio_init(9);
// Broches des moteurs en sortie
gpio_set_dir(7, true); // M1 Sens 1
gpio_set_dir(13, true); // M1 Sens 2
gpio_set_dir(27, true); // M1 Vitesse
gpio_set_dir(5, true); // M2 Sens 2
gpio_set_dir(10, true); // M2 Sens 1
gpio_set_dir(9, true); // M2 Vitesse
// Commande des broches
gpio_put(7, 0);
gpio_put(13, 1);
gpio_put(27, 1);
gpio_put(5, 0);
gpio_put(10, 1);
gpio_put(9, 1);
} }
void loop(void){ void loop(void){
static uint32_t temps_ms = 0; tight_loop_contents();
if(temps_ms != Temps_get_temps_ms()){
temps_ms = Temps_get_temps_ms();
// Toutes les 10 millisecondes, envoyer la valeur de "valeur"
if(temps_ms % 10 == 0){
Teleplot_add_variable_int("valeur", valeur);
Teleplot_envoie_tampon();
}
// Toutes les 500 millisecondes, inverser la valeur de "valeur"
if(temps_ms % 500 == 0){
valeur = -valeur;
Teleplot_envoie_tampon();
}
}
} }