Utiliser un robot
Carte PICAXE 08
Chapitre 2
Utilisation des moteurs
4 - Exemple de programmes
Remarques :
Les moteurs sont branchés sur les connecteurs M1 (S0 et S1) et M2 (S2 et S4). Lorsque l'on active ces sorties, le robot avance (ou tourne ou recule). Les deux moteurs sont en marche, ils ne s'arrêtent pas. L'instruction "End" signifie que le programme est fini et non que les moteurs doivent s'arrêter.
En cas de besoin une page présentant les différentes commande est disponible ici
Premier programme :
- Dessinez l'organigramme ci dessous
Pour activer et désactiver une sortie on utilise la commande "pins" suivi de la valeur que vous avez trouvée au TP précédent
Pour introduire un temps de fonctionnement on utilise la commande "pause" . Le temps est exprimé en milliseconde (3000 ms = 3 s)

Le robot avance pendant 2 secondes, s'arrête 1 secondes, recule 2 secondes, s'arrête 1 seconde, et ainsi de suite.
- Enregistrez-le dans Devoirs\gilletm avec comme nom "avant arriere vos noms"
Transférer le diagramme
Avant toute manipulation sur le robot il faut le poser sur une cale pour que les roues ne touchent pas la table. Un programme peut être chargé en mémoire et faire tourner les roues à la mise sous tension. 
- Repérez le calavier RUN/PROG

- Placez-le sur PROG

- Repérez la prise Jack

- Branchez le jack

- Mettez l'interrupteur sur On (vers la gauche).
- Cliquez sur l'icône "Program"

Le programme est téléchargé le microcontrôleur Picaxe. Le téléchargement s’effectue uniquement si la liaison est correcte (câble Série installé et branché sur le robot, microcontrolleur Picaxe sélectionné dans Option, robot alimenté).
- Quand le téléchargement est fini, cliquez sur OK dans la fenêtre qui s'affiche.
- Les roues doivent tourner
- Arrétez le robot en mettant l'interrupteur sur Off
- Repacez le cavalier sur RUN

Testez votre programme sur le sol.
Utiliser les Sous-programmes
Vous avez remarqué que ce programme est très long à écrire car à chaque action, on est obligé d'utiliser 4 cellule par action.
Il est plus simple d'écrire pour chaque action un sous programme (avancer, reculer, arrêter) et de les appeler au fur et à mesure.
- Placer un
à coté de start 
- Prenez la flèche de sélection

- Cliquez sur sub0
Dans la zone de saisie en bas à gauche de l'écran remplacez sub0 par avant. Le nom s'affiche dans le symbole. Le nom ne doit pas dépasser 8 caractères.
- Avec l'outil de sélection
déplacez chaque case de la marche avant sous avant. 
- Retournez dans les outils de sous programme
et ajoutez
en bas.
- Recommencer ces opérations pour faire les 2 autres sous-programmes.

- En utilisant les outils de sous programmes
construisez le programme principal

- Cliquez sur gosub et dans la zone de saisie en bas à gauche de l'écran sélectionnez avant. Le nom s'affiche dans le symbole.
- Finissez le programme comme ci-dessous.

- Transmettez le programme au robot (n'oubliez pas le cavalier à déplacer sur PROG) , et testez (n'oubliez pas de replacer le cavalier sur RUN.
Le programme ne s'éxécute qu'une fois.
Si on veut répéter ce cycle un nombre de fois déterminé, on peut réécrire en dessous du dernier pause les mêmes instructions autant de fois que l'on veut. Mais il est plus judicieux d'utiliser un 4ème sous-programme qui sera appelé le nombre de fois voulu.
- Placer un
à coté de start 
- Prenez la flèche de sélection

- Cliquez sur sub0
Dans la zone de saisie en bas à gauche de l'écran remplacez sub0 par sp_av_ar. Le nom s'affiche dans le symbole. Le nom ne doit pas dépasser 8 caractères.
- Avec l'outil de sélection de zone
englobez le diagramme que vous aviez fait, et déplacez-le sous sp_av_ar. 
- En utilisant les outils de sous programmes construisez le programme principal

Cliquez sur gosub et dans la zone de saisie en bas à gauche de l'écran sélectionnez sub_av_ar. Le nom s'affiche dans le symbole
- Transmettez le programme au robot (n'oubliez pas le cavalier à déplacer sur PROG) , et testez (n'oubliez pas de replacer le cavalier sur RUN.
Le programme ne s'éxécute qu'une fois.
Utilisation d'une variable
Pour compter le nombre de fois où le programme doit se répéter vous allez utiliser une variable b0 qui va s'incrémentez de 1 à chaque passage.
- Avec l'outils sélection, déplacez les symboles de gosub_av_ar et de stop à coté du programme principal pour vous en resservir après.
- Dans les outils
choisir
et placez-le sous start 
Sélectionnez let b0= 0 et en bas à gauche lui donner la valeur suivante en utilisant les listes déroulantes : 
- Le symbole doit afficher

Ceci signifie que lors du déroulement du programme, chaque fois que l'on passera dans cette case, la variable b0 augmentera de 1.
- Remettez l'appel du sous-programme gosub_av-ar à la suite.
- Dans les outils
choisir
et le placer à la suite.
- Indiquez la valeur de b0 : 2
- Finissez le programme principal comme ci-dessous

- Enregistrez, tranférez et testez (n'oubliez pas le cavalier) au sol le programme.
- Il doit s'exécuter 2 fois et s'arrêter.
- Si on veut qu'il s'exécute 4 fois, il suffira de remplacer
b0 = 2 par b0 = 4
Les virages
Enregistrez-sous le diagramme que vous venez de faire (vous n'aurez pas à réécrire les commande avant, arrière, arret) dans Devoirs\gilletm avec comme nom "quart-demi vos noms"
Etape 1 : ajouter les commande de virage
- Complétez vos sous programme en ajoutant les virages à gauche et à droite

Pour tourner il suffit d'appeler les sous-programmes gauche ou droite. Mais il faut laisser cette commande active un certain temps.
Vous allez donc tester ces virages gauche et droite pour faire faire au robot un 1/4 et tour et un 1/2 tour. Il faudra régler le temps de rotation pour faire juste un quart ou un demi tour.
Construisez l'organigramme principal suivant : 
Enregistrez-le dans Devoirs\gilletm avec comme nom "quart-demi vos noms"
Trouvez les bonnes valeurs pour faire faire un quart de tour et un demi tour en testant petit à petit.
Programmes suivants
- Dessinez un organigramme qui fasse faire un carré au robot.
Pour cela, il faut que le robot avance (2s), fasse un quart de tour, et recommence cela 4 fois. Il faudra donc utiliser les valeurs de rotation que vous avez trouvées
ci-dessus et les sous-programmes avec l'appel d'une variable comme dans le premier exercice.
- Enregistrez ce programme dans Devoirs\gilletm avec comme nom "dessin_carre_vos noms"
- Transférez et testez.
Envoi du fichier dans Chamilo :
Dernières modifications : Mercredi 7 Mai 2014 à 6:28 |