Code pour la validation du câblage des moteurs
This commit is contained in:
parent
920ef67393
commit
44b17271d4
13
Readme.md
13
Readme.md
@ -1,12 +1,9 @@
|
||||
De l’art de déplacer un robot avec classe - Teleplot
|
||||
====================================================
|
||||
De l’art de déplacer un robot avec classe - Câblage des moteurs
|
||||
===============================================================
|
||||
|
||||
Le but est de vous proposer une série d’articles vous présentant les arcanes du déplacement d’un 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.
|
||||
- Une fonction qui incrémente notre temps de 1.
|
||||
- Une fonction d’initialisation qui crée l’interruption qui appellera notre fonction précédente toutes les 1 millisecondes.
|
||||
- Une fonction qui renvoie le nombre de milliseconde écoulée depuis l’initialisation.
|
||||
Le code principal permet de tester le bon fonctionnement des moteurs, afin de valider leur câblage.
|
||||
|
43
main.c
43
main.c
@ -25,22 +25,35 @@ void setup(void){
|
||||
stdio_init_all();
|
||||
Teleplot_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){
|
||||
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();
|
||||
}
|
||||
}
|
||||
tight_loop_contents();
|
||||
}
|
Loading…
Reference in New Issue
Block a user