Ignorer la navigation

Etape 5 - Ecriture et mise au point du programme de gestion des mouvements de la patte du prototype

Cette étape doit être réalisée par les ressources humaines définies à l'étape 2.
La plage de rotation utile des trois servomoteurs assurant l'articulation de la patte du robot est comprise entre 25° et 155° comme indiquée dans le schéma ci-contre. 

Le programme de test de fonctionnement d'une patte du prototype peut être décomposé en 5 fonctionnements élémentaires :

Afin de ne pas se perdre dans le programme, les essais et les débogages (corrections des dysfonctionnements, erreurs)... il est recommandé de ne pas réaliser le programme complet d'un seul coup, mais de procéder fonctionnement élémentaire par fonctionnement élémentaire. On ajoute au fonctionnement élémentaire précédent, le fonctionnement élémentaire suivant, uniquement quand le fonctionnement élémentaire précédent fonctionne correctement.

Une sauvegarde de secours est conseillée à chaque fonctionnement élémentaire ajouté avec succès (conseil, numéroter ces copies de secours : xxx1, xxx2, etc).

En îlot : demi-groupe

Réaliser progressivement le travail des 5 onglets ci-dessous en appliquant, pour chacun des fonctionnements élémentaires en question, la démarche de mise au point d'un programme informatique donnée ci-contre :

Fonctionnement élémentaire 1

Fonctionnement élémentaire 1 : mouvements simultanés des trois servomoteurs jusqu'à la position 25°.

1- A partir du montage donné ci-dessous, compléter l'algorithme ci-dessous (pointillés) permettant d'assurer le fonctionnement élémentaire 1 lors de l'appui sur le bouton poussoir 1 :

Schéma de montage

Algorithme

Répéter indéfiniment

Si la broche numérique PIN … est égal à l’état logique 1

Alors   faire pivoter le servomoteur A sur la broche numérique PIN … à 25°

faire pivoter le servomoteur AB sur la broche numérique PIN … à 25°

faire pivoter le servomoteur BC sur la broche numérique PIN … à 25°

Fin SI

Fin répéter indéfiniment

2- Ouvrir le service en ligne TINKERCAD (coin élève du site technopc) et accéder à votre compte d'îlot (bouton en haut à droite "Sign In (Connexion)" + ) avec l'identifiant de votre îlot 3emeXilotYpc@collegegujan.fr (mot de passe à demander au professeur).

3- Sélectionner le simulateur de circuits électroniques avec le bouton .

4- Créer une nouvelle simulation avec le bouton  et la renommer "projet7".

5- Construire la simulation suivante (choisir les composants dans la bibliothèque de composants et les placer sur la feuille centrale) :

Montage

Paramétrages :

- la résistance de rappel de potentiel associée au bouton poussoir 1 doit être paramétrée avec la valeur 22 KΩ .

6- A partir de la bibliothèque de Tinkercad, construire le programme en langage bloc de l'algorithme complété à la question 1 (conseils : choisir d'afficher Blocs + Texte afin de voir à quoi ressemble le code Arduino (programme écrit en langage C) + utiliser le coup de pouce si nécessaire pour voir les blocs utiles).

Description de l'interface de programmation

Remarques :

- il est inutile de placer la boucle "Répéter indéfiniment" (loop()), car le logiciel Tinkercad la génère automatiquement,

- la partie initialisation (setup()) des entrées-sorties est également générée automatiquement par le logiciel Tinkercad en fonction de ce qui est contenu dans la boucle infinie(loop).

7- Tester le programme en simulation. Observer le fonctionnement et comparer avec ce qui était attendu. Si nécessaire, modifier le programme et effectuer de nouveaux essais en simulation jusqu'à obtenir un fonctionnement correct.

8- Faire valider le bon fonctionnement par le Professeur.

9- Insérer une image du programme Bloc dans votre document élève "Projet 7".

Fonctionnement élémentaire 2

Ajout du fonctionnement élémentaire 2 : initialisation simultanée des trois servomoteurs en position médiane.

1- Compléter l'algorithme ci-dessous (pointillés de la partie bleue) permettant de rajouter le fonctionnement élémentaire 2 lors de l'appui sur un deuxième bouton poussoir "Bouton poussoir 2" raccordé sur l'entrée PIN 3 de la carte Arduino :

Montage (incomplet)

Algorithme

Rappel : les servomoteurs utilisés offrent un rotation comprise ente 0° et 180°

Répéter indéfiniment

Si la broche numérique PIN ..inchangé.. est égal à l’état logique 1

Alors   faire pivoter le servomoteur A sur la broche numérique PIN ..inchangé.. à 25°

faire pivoter le servomoteur AB sur la broche numérique PIN ..inchangé.. à 25°

faire pivoter le servomoteur BC sur la broche numérique PIN ..inchangé.. à 25°

Fin SI

Si la broche numérique PIN ... est égal à l’état logique 1

Alors   faire pivoter le servomoteur A sur la broche numérique PIN ... à ...°

faire pivoter le servomoteur AB sur la broche numérique PIN ... à ...°

faire pivoter le servomoteur BC sur la broche numérique PIN ... à ...°

Fin SI

Fin répéter indéfiniment

2- Sur TINKERCAD , modifier la simulation du fonctionnement précédent en :

- ajoutant le bouton poussoir 2 raccordé sur l'entrée PIN 3 de la carte Arduino et sa résistance de rappel de 22 kΩ,

- ajoutant les blocs de la partie d'algorithme correspondante au fonctionnement élémentaire 2.

3- Tester le programme en simulation. Observer le fonctionnement et comparer avec ce qui était attendu. Si nécessaire, modifier le programme et effectuer de nouveaux essais en simulation jusqu'à obtenir un fonctionnement correct.

4- Faire valider le bon fonctionnement par le Professeur.

5- Insérer une image du programme Bloc du fonctionnement élémentaire 2 (uniquement) dans votre document élève "Projet 7".

Fonctionnement élémentaire 3

Ajout du fonctionnement élémentaire 3 : mouvements simultanés des trois servomoteurs jusqu'à la position 155°.

1- Compléter l'algorithme ci-dessous (pointillés de la partie bleue) permettant de rajouter le fonctionnement élémentaire 3 lors de l'appui sur un troisième bouton poussoir "Bouton poussoir 3" raccordé sur l'entrée PIN 4 de la carte Arduino :

Montage (incomplet)

Algorithme

Répéter indéfiniment

Si la broche numérique PIN ..inchangé.. est égal à l’état logique 1

Alors   faire pivoter le servomoteur A sur la broche numérique PIN ..inchangé.. à 25°

faire pivoter le servomoteur AB sur la broche numérique PIN ..inchangé.. à 25°

faire pivoter le servomoteur BC sur la broche numérique PIN ..inchangé.. à 25°

Fin SI

Si la broche numérique PIN ..inchangé.. est égal à l’état logique 1

Alors   faire pivoter le servomoteur A sur la broche numérique PIN ..inchangé.. à ..inchangé..°

faire pivoter le servomoteur AB sur la broche numérique PIN ..inchangé.. à ..inchangé..°

faire pivoter le servomoteur BC sur la broche numérique PIN ..inchangé.. à ..inchangé..°

Fin SI

Si la broche numérique PIN ... est égal à l’état logique 1

Alors   faire pivoter le servomoteur A sur la broche numérique PIN ... à 155°

faire pivoter le servomoteur AB sur la broche numérique PIN ... à 155°

faire pivoter le servomoteur BC sur la broche numérique PIN ... à 155°

Fin SI

Fin répéter indéfiniment

2- Sur TINKERCAD , modifier la simulation du fonctionnement précédent en :

- ajoutant le bouton poussoir 3 raccordé sur l'entrée PIN 4 de la carte Arduino et sa résistance de rappel de 22 kΩ,

- ajoutant les blocs de la partie d'algorithme correspondante au fonctionnement élémentaire 3.

3- Tester le programme en simulation. Observer le fonctionnement et comparer avec ce qui était attendu. Si nécessaire, modifier le programme et effectuer de nouveaux essais en simulation jusqu'à obtenir un fonctionnement correct.

4- Faire valider le bon fonctionnement par le Professeur.

5- Insérer une image du programme Bloc du fonctionnement élémentaire 3 (uniquement) dans votre document élève "Projet 7".

Fonctionnement élémentaire 4

Ajout du fonctionnement élémentaire 4 : mouvements successifs des trois servomoteurs (A, puis AB, puis BC) jusqu'à la position 25°.

1- Sur TINKERCAD , ajouter au programme bloc du fonctionnement précédent, le programme bloc donné ci-dessous assurant le fonctionnement élémentaire 4. Les parties manquantes (pointillés) devront être complétées à partir des explications données ci-après.

Programme blocs

Début de l'algorithme et explications pour le servomoteur A

Si la broche numérique PIN 5 est égal à l’état logique 1

Alors  Modifier la valeur de la variable pos_A avec la valeur des degrés imposés sur la broche PIN 11 pour le servomoteur A

Pour la variable i variant de la valeur de la variable pos_A - 1 jusqu'à 25, décompter par pas de 1, faire

pivoter le servomoteur A sur la broche numérique PIN 11 d'un angle en degré égal à la valeur de la variable i

Attendre 20 ms

Fin Pour

¦

¦

Fin SI

Explications en vidéo

Au collège, visionner la vidéo depuis T/travail/TechnologiePC/3eme/Projet 7/descriptionfct4.mp4

2- Sur TINKERCAD , modifier le montage en ajoutant le bouton poussoir 4 et sa résistance de rappel de 22 kΩ.

3- Tester le programme en simulation. Observer le fonctionnement et comparer avec ce qui était attendu. Si nécessaire, modifier le programme et effectuer de nouveaux essais en simulation jusqu'à obtenir un fonctionnement correct.

4- Faire valider le bon fonctionnement par le Professeur.

5- Insérer une image du programme Bloc du fonctionnement élémentaire 4 (uniquement) dans votre document élève "Projet 7".

Fonctionnement élémentaire 5

Ajout du fonctionnement élémentaire 5 : mouvements successifs des trois servomoteurs (A, puis AB, puis BC) jusqu'à la position 155°.

1- Sur TINKERCAD , en vous appuyant sur le programme du fonctionnement élémentaire 4, ajouter au programme bloc précédent le programme bloc assurant le fonctionnement élémentaire 5 lors de l'appui sur un cinquième bouton poussoir "Bouton poussoir 5" raccordé sur l'entrée PIN 6 de la carte Arduino.

2- Sur TINKERCAD , modifier le montage en ajoutant le bouton poussoir 5 raccordé sur l'entrée PIN 6 de la carte Arduino et sa résistance de rappel de 22 kΩ.

3- Tester le programme en simulation. Observer le fonctionnement et comparer avec ce qui était attendu. Si nécessaire, modifier le programme et effectuer de nouveaux essais en simulation jusqu'à obtenir un fonctionnement correct.

4- Faire valider le bon fonctionnement par le Professeur.

5- Insérer une image du programme Bloc du fonctionnement élémentaire 5 (uniquement) dans votre document élève "Projet 7".

Lorsque le programme est complet, Télécharger le code Arduino dans U:(perso).

Bonus rapidité

Le Rapporteur de votre îlot doit prévenir le professeur que vous avez terminé l'étape 5.