AFFICHER les RESULTATS INTERMEDIAIRES
pour
TESTER LES REPONSES DE DETECTEURS ou DEBUGGER les PROGRAMMES
IL est souvent utile de pouvoir afficher en continu les données fournies par un détecteur (températures, distances a un obstacle , message radio ou IR ou sur liaison série). Utile pour régler la sensibilité des détecteurs et repérer leurs dysfonctionnements.
Utile aussi pour localiser l'origine d'erreurs dans un programme en lui faisant afficher la valeurs de différentes variables qu'il utilise.
Pour ces affichages il y a deux solutions principales:
- les envoyer sur vers la fonction hyperterminal du PC en utilisant le cable qui le relie a la plaque du PE kit
- les envoyer vers un écran LCD de 2 ou 4 lignes d'affichage directement relié au PE KIt et alimenté en 5 volts
Liaison HYPERTERMINAL
- gratuite : aucun investissement , mais un peu laborieuse a mettre en oeuvre et bloque le cable de liason Propeller/PC
- non utilisable sur le robot débranché du PC
- on envoie les chiffres lus par les détecteurs vers l'ordinateur , ceci grâce au cable qui sert habituellement a relier le Propeller au PC pour charger les programmes , mais on va l'utiliser pour envoyer des messages dans l'autre sens : du Propeller vers le PC.
- coté robot, on utilise un programme Spin , tout fait qui fournit les méthodes de communication de type liaison série et appelé <fullduplexserial> , a télécharger depuis la banque d'échange de Parallax:
- on appelle <debug >cet objet a l'intérieur du programme Spin a tester et on appelle ses méthodes pour transmettre un résultat décimal : debug.dec(resultat) ou un lettre de l'alphabet : debug.txt (caractére) ou une chaine de caractéres : debug.string(chaine) . On notera que certains caractéres sont envoyés en utilisant le code ASCII qui sert a les désigner a l'intérieur d'un ordinateur : c'est le cas de la commande aller a la ligne (code numérique 13) et de la commande aller en début de lgne (code numérique 10)
- pour voir défiler les messages sur l'écran du PC , on utilise le programme <hyperterminal> présent dans Windows :
- commencez par vérifier que le PEkit est relié a l'ordinateur par son cable de transfert
- allez dans le Propeller Tool et taper la trouche F4 située au dessus de votre clavier : le nom du port de communication attribué au Propeller s'affiche : quelquechose du genre <COM3>, notez ce nom
- sur l'écran du PC aller dans démarrer -> tous les programmes -> accessoires -> communication -> hyperterminal -> nouvelle connection (donnez n'importe quel nom) un écran s'affiche: allez dans <se connecter en utilisant> et choisisez le port noté précédemment , dans l'écran suivant choisissez : vitesse 9600, 8 bits de données, 1 bit stop, sans parité, pour le reste laissez les valeurs par défaut et validez.
- Si votre programme de Propeller envoie des données de débug elles défilent alors sur l'écran du PC .
- a vous de mettre éventuellement un délai d'attente (avec WAITCNT) dans votre programme en Spin pour que vous ayez le temps de lire les données sur l'écran
- Lorsque vous avez terminé n'oubliez pas de déconnecter l'hyperterminal: tant qu'il fonctionne il utilise le cable de liaison avec le PEkit et si vous essayez de charger un programme vers le Propeller il serait bloqué. En effet le cable est utilisé par un autre programme .
Affichage sur écran LCD
- Il y a deux grands types d'écrans LCD :
- connectables par liaison paralléle: peu chers mais utilisent 8 pattes du Propeller
- liaison série ou I2C (souvent proposées ensemble) : plus chers mais utilisent 2 pattes du Propeller
-
- Souvent on utilise des écrans de 4 lignes de 16 caractéres tels le LCD03 de Devantech
- Nous prendrons comme exemple le LCD03 trés connu des amateurs
- la connection utilse 4 cables : 5 volts, terre , ligne de données: SDA , ligne d'horloge : SCL (ces 2 derniéres reliées a 2 pattes du Propeller)
- le programme d'envoi de données utilise un OBJET , écrit par C.Clarke et disponible dans la base d'échange de Parallax.
- la fonction "Readlocation" des liaisons I2C permet de récupérer les données et la fonction Writelocation de les afficher