Chapitre 4 :
Gestion des capteurs et partie programmation
4.1 Introduction
Dans les chapitres précédents nous avons
présenté la structure générale de notre robot
mobile, sa partie perception ainsi que son électronique. Il est clair
que la partie gestion est très importante pour la coordination du
fonctionnement de toutes les parties du robot mobile.
4.2 Les organigrammes
Les organigrammes représentent la première
étape dans la mise en oeuvre de la gestion des tâches. Cela nous a
permis d'organiser les taches, de vérifier l'ordre des instructions et
leur interdépendance. Cette étape constitue une transition
facilitant et simplifiant la phase de programmation.
4.2.1 Organigramme de capteur ultrason (MSU04)
Les deux capteurs sont fixés sur une hauteur de 50 mm
et un angle de 900, avec une distance de 200 mm entre eux, ils sont
utilisés afin d'avoir une distance entre le robot et l'obstacle pour la
poursuite de sa trajectoire.
Le télémètre envoie un son et
écoute l'écho. Un système de mesure du temps nous permet
de connaître la distance de l'objet.
Nous avons développé une petite note
d'application pour permettre de piloter un module sonar ultrason "MSU04"
à partir d'un ROVIN afin de pouvoir mesurer les distances d'un
obstacle présent entre 3 cm et 3 m. Pour ce faire, nous avons
utilisé la broche PD.0 du ROVIN pour donner le signal de
départ du "MSU04" et on a récupéré la durée
de l'impulsion du "MSU04" via la broche EXPD.4 utilisée en entrée
de capture. Cette dernière est configurée pour mesurer les
impulsions de niveau haut. On peut utiliser le mode DEBUG de RIVIN pour lire la
valeur de mesure des impulsions de niveau haut. Après chaque mesure le
ROVIN génère un EVENEMENT (pendant lequel on viendra
afficher la valeur lue dans la fenêtre "On-The-Fly" de l'environnement de
développement "ROVIN-IDE"). La procédure est utilisée pour
le second capteur ultrason.
PROG - INT
Début
Si Détection
Départ de TIMER
CP_TIME <=10cm
Non
Emission d'onde
Oui
Rotation à droite 900
Non
Arrêt TIMER
Oui
Marche avant
Stockage de la valeur du TIMER sur variable CP_TIME
Retour d'interruption
Demande d'interruption
Figure 4.1 :
Organigramme de gestion du télémètre.
4.2.2 Organigramme de capteur de couleur
(LDR)
Les deux capteurs de couleur sont fixés sous la
plate-forme du robot sur une hauteur de 2mm, avec une distance de 50 mm entre
eux, ils sont utilisés pour la reconnaissance des couleurs dans l'aire
de jeu.
Ce programme va nous permettre de tester l'entrée de
conversion analogique/numérique ADC0 du module ROVIN (cette
dernière devra/ recevoir une tension comprise entre 0 et 5 V (la
tension en borne de LDR). On appliquera un facteur de division de 128 (la
valeur lue est initialement sur 10 bits). Dans un même temps, on
affichera la valeur décimale d'une image de la tension en borne de LDR
dans la fenêtre "On-The-Fly" du PC (il faut activer le mode DEBUG dans
l'environnement 'ROVIN-IDE' pour pouvoir bénéficier de cet
affichage, pour spécifier la valeur décimal équivalent de
chaque couleur. Même chose avec deuxième capteur de couleur.
Lecteur la tension analogique en borne de LDR
Début
Activation de port de conversion « A/N »
Stockage de la valeur du convertisseur
« A/N » sur variable CP_C
Fin
Retour vers le programma principale
Figure 4.2 :
Organigramme de gestion du capteur de couleur.
Les résultats fournis à la suite de chaque test
sont de la forme :
CP_CD >=230 ET CP_CD <=240 : Capteur droite
indiquer la couleur bleu (DB)
CP_CD >=410 ET CP_CD <=420 : Capteur droite
indiquer la couleur rouge (DR)
CP_CD >=300 ET CP_CD <=310 : Capteur gauche
indiquer la couleur vert (DV)
CP_CG >=300 ET CP_CG <=310 : Capteur gauche
indiquer la couleur bleu (GB)
CP_CG >=500 ET CP_CG <=510 : Capteur gauche
indiquer la couleur rouge (GR)
CP_CG >=410 ET CP_CG <=420 : Capteur gauche
indiquer la couleur vert (GV)
|