D – ANNEXE
D1 - Installation du logiciel
« Programming
Editor » 94
à 96
D2 - 1er lancement du logiciel 97
D3 - Transfert d’un programme de l’ordinateur
dans MicroRobot 98
D4 - Description des outils de programmation 99 à 101
D5 - Programmes de tests 102
et 103
D6 - Mode simulation 104
D7 - Utilisation de symboles 105
D8 - Conseils / Dépannage -
Questions
fréquentes 106
à 108
D9 - Fiche de
suggestions 109
D1
– Installation du logiciel Programming Editor
Configuration
requise : PC installé avec
Microsoft Windows 95 ® mini, 8Mo RAM mini, Port série de communication (9
points) ou port USB (nécessite
l’emploi du câble d’adaptation USB réf. CABLE-FP-USBADA)
1 Quitter toutes les applications en cours et Insérer
le CDROM Programming Editor dans le lecteur de CDROM. Si l’application
d’installation ne se lance pas automatiquement, à partir du menu Démarrer,
lancer la commande Exécuter, et ouvrir le fichier « launchit » à partir du CDROM.
Fermer toutes les applications en cours. Insérer le
CDROM « Programming Editor » dans le lecteur de CDROM. L’interface
d’installation démarre (si ce
2 Sélectionner l’option « Install the Programming
Editor software . . .
3 Valider pas à pas les écrans d’installation :
Un message rappelle qu’il existe peut être une
version plus récente du logiciel disponible à partir du site www.rev-ed.co.uk
Le logiciel Programming
Editor est à présent installé. Vous pouvez le lancer à partir du menu Démarrer,
Tous les Programmes, Revolution Education, PICAXE Programming Editor.
Vous pouvez créer un
raccourci si vous le souhaitez.
L’application
Programming Editor (fichier
« progedit.exe ») est installée par défaut dans le dossier C:\Program
Files\Programming Editor.
Note concernant le
langage des menus :
Lors de l’installation, le
système détecte normalement que votre
système d’exploitation est configuré en français ; les menus du logiciel
Programming Editor apparaissent alors
automatiquement en français. Si ce n’est pas le cas, vous pouvez basculer les menus en français en allant dans le menu
« View » - « Options… » - « Language » et activer
le bouton radio « French ».
D2 – Premier lancement du logiciel
Programming Editor
1 Démarrer, Tous les Programmes, Revolution Education,
PICAXE Programming Editor.
Lancer le logiciel Programming Editor en ouvrant
l’icône PICAXE Programming Editor placé sur le bureau.
2 Activer le mode « PICAXE-18 ou bien « PICAXE-18A selon le(s) module(s) monté(s) sur la carte de pilotage de MicroRobot.
Symbole |
Module monté sur MicroRobot |
Mode |
Microcontrôleur principal monté sur la carte de Pilotage |
|
Aucun capteur |
PICAXE-18 |
PIC16F627A |
|
Module Micro Rupteurs |
PICAXE-18 |
PIC16F627A |
|
Module capteurs infra rouges |
PICAXE-18 |
PIC16F627A |
|
Module à ultrasons |
PICAXE-18 |
PIC16F627A |
|
Module Télécommande |
PICAXE-18A |
PIC16F819 |
Note : seule l’utilisation du
Module Télécommande nécessite impérativement le montage du microcontrôleur de
type PIC16F819 (cf. page 37 à 41)
Décocher éventuellement la case « Montrer les
options au démarrage.
3 Ouvrir l’onglet « Port Série » et sélectionner le port sur
lequel vous allez connecter le cordon de transfert des programmes vers MicroRobot.
Fermez la fenêtre en cliquant sur OK.
Note : Vous pouvez à tout moment modifier ces options à partir du menu Affichage – Options…
D3 - Transfert d’un
programme de l’ordinateur dans MicroRobot
1 Lancer le logiciel Programming Editor et ouvrir un
diagramme préalablement copié du CDROM MicroRobot sur le disque dur de
votre ordinateur. Note importante : l’ouverture
directe d’un diagramme à partir du CDROM peut occasionner dans certains cas une
instabilité du système.
Attention : sélectionner les fichiers de type
Diagramme (*.cad)
2 Appuyer sur F5 pour convertir
le diagramme en Basic.
3 Connecter MicroRobot à l’ordinateur, mettre MicroRobot sous tension, appuyer
sur F5 puis sur
Entrée pour transférer le programme dans MicroRobot.
D4 – Description des outils de
programmation
|
MANIPULATION
DES BLOCS, LIAISONS ENTRE BLOCS |
|
|
Sélection d’un bloc |
|
|
Sélection d’une zone - maintenir le bouton gauche de
la souris enfoncé et faire glisser le pointeur pour délimiter la zone,
relâcher le bouton de la souris pour activer la sélection. |
|
|
Agrandissement d’une zone - maintenir le bouton gauche de
la souris enfoncé et faire glisser le pointeur pour délimiter la zone,
relâcher le bouton de la souris pour agrandir la zone. |
|
|
Agrandir ou rétrécir le contenu de la
fenêtre - maintenir le bouton gauche de la
souris enfoncé et faire glisser le pointeur du haut vers le bas pour rétrécir
ou du bas vers le haut pour agrandir, relâcher le bouton de la souris. Pour ajuster la taille
d’un diagramme à
celle de la fenêtre : utiliser le menu « Diagramme, Ajuster ». |
|
|
Déplacer le contenu de la fenêtre - maintenir le bouton gauche de
la souris enfoncé et faire glisser le pointeur pour déplacer le contenu de la
fenêtre. |
|
|
Etablir une connexion entre deux blocs - placer le pointeur sur le point
de départ de la liaison, presser le bouton gauche de la souris, placer le
pointeur sur le point de destination, presser le bouton gauche de la souris. |
|
|
Définir
des points de connexion entre deux blocs (Non utilisé dans ce document) |
|
|
Insérer un commentaire - placer le pointeur à l’endroit
où l’on souhaite insérer un commentaire, presser le bouton gauche de la
souris, saisir le texte. |
|
|
|
|
|
MOUVEMENTS (MicroRobot) |
|
|
|
Marche avant. - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris, placer le pointeur sur le point de
destination, relâcher le bouton de la souris. |
|
|
Marche arrière. - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris, placer le pointeur sur le point de
destination, relâcher le bouton de la souris. |
|
|
Mouvement à gauche. - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris, placer le pointeur sur le point de
destination, relâcher le bouton de la souris |
|
|
Mouvement à droite. - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris, placer le pointeur sur le point de
destination, relâcher le bouton de la souris. |
|
|
Arrêt. - placer le
pointeur à l’endroit où l’on souhaite placer le bloc, presser le bouton
gauche de la souris, placer le pointeur sur le point de destination, relâcher
le bouton de la souris. |
|
|
Réglage de la vitesse. - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris, placer le pointeur sur le point de
destination, relâcher le bouton de la souris. Affecter la valeur de vitesse
des moteurs gauche et droit dans la zone en bas à gauche de l’écran. Note
importante :
si cette commande est utilisée, il est nécessaire d’introduire un délai
d’attente de 100 ms avant la commande « speed ». |
|
|
Acquérir la distance par rapport à un
obstacle (nécessite le module capteur de
distance) - placer le pointeur à l’endroit
où l’on souhaite placer le bloc, presser le bouton gauche de la souris,
placer le pointeur sur le point de destination, relâcher le bouton de la
souris. Affecter le nom de la variable qui recevra la valeur de la distance
captée (la variable b0 est sélectionnée par défaut). |
|
|
Attendre un ordre provenant de la
télécommande. (nécessite le module de
télécommande prévu pour MicroRobot) - placer le pointeur à l’endroit où l’on
souhaite placer le bloc, presser le bouton gauche de la souris, placer le
pointeur sur le point de destination, relâcher le bouton de la souris.
Affecter le nom de la variable qui recevra la valeur de la distance captée
(la variable b0 est sélectionnée par défaut). |
|
PILOTAGE DES SORTIES |
||
|
|
Activation d’une sortie à l’état haut - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris, placer le pointeur sur le point de
destination, relâcher le bouton de la souris. Affecter le n° de sortie à
activer dans la zone bas gauche de l’écran (Non utilisé dans ce document). |
|
|
|
Activation d’une sortie à l’état bas - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris, placer le pointeur sur le point de
destination, relâcher le bouton de la souris. Affecter le n° de sortie à désactiver
dans la zone en bas à gauche de l’écran (Non utilisé dans ce document). |
|
|
|
Non utilisé dans ce document |
|
|
|
Non utilisé dans ce document |
|
|
|
Non utilisé dans ce document |
|
|
|
Non utilisé dans ce document |
|
|
|
Non utilisé dans ce document |
|
|
|
||
|
TESTS CONDITIONNELS |
||
|
|
Test conditionnel sur une entrée – Sélectionner le type de bloc de test souhaité, positionner le
pointeur à l’endroit souhaité, presser le bouton gauche de la souris.
Affecter le n° d’entrée ou de sortie
souhaitée dans la zone bas gauche de l’écran. |
|
|
|
Test conditionnel sur une variable – Sélectionner le type de bloc de test souhaité, positionner le
pointeur à l’endroit souhaité, presser le bouton gauche de la souris.
Affecter le nom de la variable utilisée dans la zone en bas à gauche de
l’écran. |
|
|
INTRODUIRE UN TEMPS D’ATTENTE |
|
|
|
Attendre entre 1 et 65535 milli secondes - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris. Affecter le temps d’attente souhaité
(exprimé en millisecondes) dans la zone en bas à gauche de l’écran. |
|
|
Attendre entre 1 et 65 secondes - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris. Affecter le temps d’attente souhaité
(exprimé en secondes) dans la zone en bas à gauche de l’écran (Non utilisé dans ce document). |
|
|
Non utilisé dans ce document |
|
|
Non utilisé dans ce document |
|
|
|
|
UTILISER UN SOUS PROGRAMME |
|
|
|
Non utilisé dans ce document |
|
|
Déclarer le point de départ d’un sous
programme - placer le pointeur à l’endroit où
l’on souhaite placer le bloc de départ du sous programme, presser le bouton
gauche de la souris. La fin d’un sous programme est obligatoirement marquée
par un bloc « return » décrit ci-dessous. |
|
|
Retourner au programme principal - placer le pointeur à l’endroit où l’on souhaite placer le bloc de fin
du sous programme, presser le bouton gauche de la souris. |
|
|
Appeler un sous programme - placer le pointeur à l’endroit où l’on souhaite placer le bloc
d’appel du sous programme, presser le bouton gauche de la souris. Affecter le nom du sous programme appelé dans la zone en bas à gauche
de l’écran. |
|
|
|
|
AUTRES COMMANDES |
|
|
|
Définir la valeur prise par une variable - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris. Affecter le nom de la variable
souhaitée dans la zone en bas à gauche de l’écran. |
|
|
Non utilisé dans ce document |
|
|
Non utilisé dans ce document |
|
|
Génération d’une valeur pseudo aléatoire
comprise entre 0 et 65535 - placer le pointeur à l’endroit où l’on souhaite placer le bloc,
presser le bouton gauche de la souris. Affecter le nom de la variable de
destination du nombre aléatoire qui sera généré dans la zone en bas à gauche
de l’écran (Non
utilisé dans ce document). |
|
|
Non utilisé dans ce document |
|
|
Non utilisé dans ce document |
D5 – Programmes de
tests
Les programmes de test des
modules sont disponibles dans le dossier « Programmes de test »
Programme de test du module de pilotage : TEST_BASE.cad
Programme de test du module micro rupteurs : TEST_MICRO_RUPTEURS.cad
Programme de test du module détection de
marquage au sol : TEST_MARQUAGE_SOL.cad
Programme de test du module à ultrasons : TEST_ULTRASONS.cad
Programme
de test du module télécommande : TEST_TELECOMMANDE.cad
D6 – Mode
simulation
La simulation permet de
visualiser le déroulement d’un programme à l’écran en mode diagramme.
Régler la vitesse de
simulation
A l’aide du curseur.
Afficher le diagramme à
simuler et appuyer sur la touche F4 pour
visualiser le déroulement du programme à l’écran.
Visualiser
la valeur de variables locales à l’aide du tableau de bord. Possibilité
d’activation manuelle des entrées en cours de simulation afin de vérifier
les différentes branches d’un programme.
Si
nécessaire, faire basculer l’état des entrées à l’aides des boutons.
D7 – Utilisation de
symboles
Afin de faciliter la lecture
des diagrammes, il est possible d’utiliser des noms génériques qui remplacent
les noms par défaut pour qualifier les entrées / sorties / variables locales
utilisées.
Saisir dans les
emplacements prévus à cet effet les noms génériques qui s’afficheront alors dans les diagrammes.
Exemple :
Utiliser des noms parlants
et autant que possible abrégés (afin que leur longueur ne dépasse pas les
dimensions des blocs qui s’affichent en mode diagramme).
Ne pas utiliser de
caractères de ponctuation, d’espaces, de caractères accentués.
Note :
si les symboles sont saisis après avoir commencé à saisir un diagramme, il
conviendra de cliquer sur les blocs correspondants du diagramme afin de mettre
à jour le texte qui s’affichera dans ces blocs.
D8 – Conseils / Dépannage – Questions fréquentes
Conseils
/ Dépannage :
Alimentation :
Des piles usagées peuvent
entraîner des dysfonctionnements.
L’emploi de batteries
rechargeables est possible mais il faut savoir que la tension d’alimentation de
MicroRobot sera alors plus faible et les moteurs tourneront moins vite.
Mise au point des programmes :
Plus un programme est
complexe (quantité importante d’instructions) plus l’on s’expose à des erreurs
de programmation ! Pour mettre au point un programme complexe il est
recommandé de procéder par étapes en vérifiant séparément le fonctionnement de
chaque partie du programme. La fonction « copier / coller » des
blocs d’un diagramme vers un autre diagramme n’existe pas. On peut cependant à
partir d’un diagramme existant le sauver sous un autre nom et ajouter de
nouveaux blocs ou ôter les blocs inutiles.
Difficulté de chargement d’un programme :
Il se peut que malgré une
bonne connexion entre l’ordinateur et MicroRobot et malgré son bon
fonctionnement (conforme à un programme déjà chargé), celui-ci ne parvient pas
à recevoir un nouveau programme. Il faut savoir que l’opération de chargement
activée par la touche F5 nécessite un temps d’initialisation interne à
MicroRobot. Dans certains cas où le programme déjà chargé accapare les
ressources internes de MicroRobot, celui-ci ne parvient pas à trouver un temps
mort qui permet d’activer le processus de chargement d’un programme.
Pour remédier à ce cas
particulier, il convient après la mise sous tension de lancer le chargement
(touche F5) et de procéder immédiatement à une initialisation du matériel en
activant momentanément le bouton poussoir « reset » du module de
pilotage. Le système s’initialise alors de telle sorte que la priorité est
données au processus qui permet le chargement d’un programme.
Messages d’erreur « Mémoire pleine, programme
trop long » lors du chargement d’un programme :
Le programme que l’on essaye
de charger dépasse les capacités du microcontrôleur principal du module de
pilotage. On peut envisager de simplifier le programme si c’est possible ou
bien remplacer le microcontrôleur principal par un modèle plus puissant.
Augmentation de la capacité d’accueil des
programmes :
Le module de pilotage est
équipé en version de base avec un microcontrôleur du type IC-RE18.
On peut le remplacer par un
microcontrôleur de type IC-RE18A ou IC-RE18X afin d’augmenter sa capacité
mémoire.
Réf. IC-RE18 =
microcontrôleur de type 18A (marqué PIC16F627A) - capacité 128 octets
Réf. IC-RE18A =
microcontrôleur de type 18A (marqué PIC16F819) - capacité 256 octets
Réf. IC-RE18X =
microcontrôleur de type 18X (marqué PIC16F88) - capacité 2048 octets
Note :
le montage du module Télécommande requiert l’utilisation d’un microcontrôleur
de type 18A ou 18X.
Questions
fréquentes sur la programmation :
Exécution séquentielle des instructions :
Les instructions d’un
programme sont exécutées les unes après les autres (il n’exécute pas plusieurs
instructions à la fois).
Pour ne pas « rater » un événement
extérieur :
Une instruction est
constituée par un mot clé du langage de programmation (ici il s’agit des
« blocs » utilisés dans les diagrammes). Une instruction a un rôle
bien déterminé et peut être paramétrée. Par exemple « pause xxx »
indique au microcontrôleur d’attendre pendant un temps de xxx ms où xxx est une
valeur paramétrable exprimée en millisecondes (de 1 à 65 535 ms).
Tant que le microcontrôleur
exécute cette instruction, il ne fait rien d’autre. Ainsi, si l’on veut réagir
immédiatement à un stimulus extérieur à l’aide des fonctions de test (par
exemple détection d’un marquage au sol), il faut s’arranger pour que le programme
ne soit pas « coincé » trop longtemps sur l’exécution de
l’instruction en cours (par exemple avancer pendant 2s), sans quoi on risque de
rater l’événement (croisement du marquage au sol pendant la période de 2s où
MicroRobot avance).
Pour vérifier fréquemment
l’état d’un capteur, on peut par exemple intercaler des sauts réguliers à un
sous programme qui traite l’acquisition des données reçues par un capteur.
Le microcontrôleur de
MicroRobot enchaîne l’exécution des instructions au rythme de 1 million
d’instructions par secondes (ordre de grandeur).
Persistance des commandes de déplacement :
A la mise sous tension de
MicroRobot, le microcontrôleur est initialisé et toutes ses sorties sont
remises à zéro ; le microcontrôleur commence alors à exécuter son
programme à partir de l’instruction « start ». Les instructions qui
commandent le déplacement de MicroRobot (avancer, gauche, droit, reculer)
pilotent les moteurs. L’action engendrée par ce type d’instruction est
maintenue tant que le programme ne rencontre pas une nouvelle instruction de
déplacement qui l’annulera en la remplaçant.
Gestion de la vitesse :
La vitesse des moteurs est
gérée par un microcontrôleur secondaire. Celui-ci a besoin d’un temps
d’initialisation de 100 ms pour pouvoir initialiser leur vitesse à une nouvelle
valeur. Si l’on souhaite modifier la valeur de la vitesse au cours d’un
programme, il est conseillé d’introduire un temps d’attente de 100 ms (pause
100) avant de modifier la valeur de la vitesse à l’aide de la commande « speed ».
La vitesse de rotation des
moteurs est gérée par des impulsions de longueur variable (paramétrables par la
commande « speed ». La vitesse de rotation des moteurs est dans une
certaine limite indépendante de l’état des de piles. Cependant, des piles usées
dont la capacité (mAh) aurait chuté de manière trop importante ne permettent
pas de fournir l’énergie suffisante pour entraîner correctement MicroRobot.
Dans ce cas les moteurs tentent d’imposer la vitesse de rotation qui est
programmée mais ils manquent de puissance et MicroRobot se déplacera alors plus
lentement.
Il est recommandé d’utiliser
des piles alcalines pour alimenter MicroRobot. Par ailleurs, il est recommandé
d’ôter les piles de MicroRobot en cas de non utilisation prolongée.
Utilisation des variables locales :
Le module à ultrasons et le
module télécommande mémorisent le résultat de leurs acquisitions dans des
variables locales ; il conviendra de prendre garde à l’utilisation
redondante de ces mêmes variables locales à d’autres fins dans les programme
afin d’éviter des confusions sur leur contenu au moment où l’on souhaite
exploiter leur valeur dans un programme.
Comment vérifier la longueur d’un programme :
Lorsque le diagramme est
affiché, appuyer sur F5 pour le convertir en basic puis sur F4 pour vérifier sa
syntaxe et sa longueur.
Modification des diagrammes de programmation,
validité des liaisons entre les blocs :
Il peut arriver qu’un
diagramme de programmation qui apparaît comme correct à l’écran ne soit pas
correctement retranscrit en langage Basic ; ceci entraîne un
fonctionnement erratique du programme chargé dans MicroRobot. Ce phénomène peut
survenir lorsque l’on ajoute ou déplace des blocs de commandes d’un diagramme
déjà existant. Ce phénomène est dû à l’outil graphique qui permet de créer les
diagrammes ; il se peut que des liaisons entre des blocs ne soient pas prises en compte (même si les
connexions entre les blocs apparaissent clairement à l’écran).
Pour éviter ce phénomène, il
convient de revalider chaque liaison en sélectionnant un à un chaque bloc de
programmation avant de lancer la conversion en Basic (touche F5).
Une autre possibilité
consiste à sauver le diagramme qui pose problème, à le quitter et à le
rouvrir ; les liaisons entre blocs sont alors réactivées.
Note :
on peut utiliser la fonction simulation (touche F4) des diagrammes pour
vérifier l’exécution des programmes en mode diagramme et vérifier que les
liaisons entre les blocs sont valides.
Comment
copier un bloc :
A - Pointer
avec la souris le bloc à copier.
B - Appuyer sur la touche Ctrl.
C - Presser une fois le bouton gauche de la souris (le bloc
copié est alors superposé sur le bloc de départ.
D
- Lâcher la touche Ctrl.
E - Presser une deuxième fois en le maintenant appuyé le
bouton gauche de la souris et faire
glisser le bloc copié jusqu’à l’endroit souhaité et en déplaçant la
souris. Relâcher le bouton.
Mise en garde : il est important de relâcher le
bouton Ctrl après avoir pressé la première fois sur le bouton gauche de la
souris sans quoi on risque d’effectuer des copies multiples qui perturbent
l’opération de copie et génèrent des diagrammes au comportement incontrôlé.
Si l’on
observe après chargement d’un programme dans MicroRobot un fonctionnement
totalement inattendu, il est conseillé de sélectionner chaque bloc du diagramme
avec la souris afin de rétablir les liaisons qui pourraient ne pas être prises
en compte au moment de la conversion en basic.