Compare commits

...

2 Commits

2 changed files with 22 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 codeurs
===============================================================
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 codeurs
-------------------
Ajout de la gestion du temps à l'aide de trois fonctions simples.
- 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.
Le code principal permet de tester le bon fonctionnement des codeurs, afin de valider leur câblage.

32
main.c
View File

@ -25,22 +25,24 @@ void setup(void){
stdio_init_all();
Teleplot_init();
Temps_init();
// Broches des codeur gérées en GPIO
gpio_init(11); // Codeur 1, voie A
gpio_init(12); // Codeur 1, voie B
gpio_init(2); // Codeur 2, voie A
gpio_init(3); // Codeur 2, voie B
// Broches des codeur en entrée
gpio_set_dir(11, false); // Codeur 1, voie A
gpio_set_dir(12, false); // Codeur 1, voie B
gpio_set_dir(2, false); // Codeur 2, voie A
gpio_set_dir(3, false); // Codeur 2, voie B
}
void loop(void){
static uint32_t temps_ms = 0;
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();
}
}
Teleplot_add_variable_int("Codeur1_A", gpio_get(11));
Teleplot_add_variable_int("Codeur1_B", gpio_get(12));
Teleplot_add_variable_int("Codeur2_A", gpio_get(2));
Teleplot_add_variable_int("Codeur2_B", gpio_get(3));
Teleplot_envoie_tampon();
}