a) Algorigramme
Définition des variables de l’algorigramme
AV : capteur de lumière avant
AVG : capteur de lumière avant gauche
AVD : capteur de lumière avant droit
D : capteur de lumière droit
G : capteur de lumière gauche
AR : capteur de lumière arrière

b) Photos du robot suiveur :



c) Programme du robot suiveur :
//-------------------------------------------------------------------------------//
//- ( Hemisson PPE ) -//
//- -//
//-------------------------------------------------------------------------------//
// Fichiers d'en-tÍte (header) incluant les initilaisation et les fonctions //
// de haut niveau qui sont appelÈes //
#include
#include "fonctions_en_francais.h"
// Vitesse rapide de rotation d'une roue
#define VITESSE_RAPIDE 6
// Vitesse lente de rotation d'une roue
#define VITESSE_LENTE 2
// Vitesse arriere de rotation d'une roue
#define VITESSE_ARRIERE -6
// Vitesse arriere de rotation d'une roue
#define VITESSE_STOP 0
// Seuil de luminositÈ avant
#define SEUIL_LUMIERE_AVANT 220
// Seuil de luminositÈ avantbas
#define SEUILBAS_LUMIERE_AVANT 20
// Seuil de luminositÈ avantdroit
#define SEUIL_LUMIERE_AVANTDROITE 220
// Seuil de luminositÈ avantgauche
#define SEUIL_LUMIERE_AVANTGAUCHE 220
// Seuil de luminositÈ droit
#define SEUIL_LUMIERE_DROITE 220
// Seuil de luminositÈ gauche
#define SEUIL_LUMIERE_GAUCHE 220
// Seuil de luminositÈ arriËre
#define SEUIL_LUMIERE_ARRIERE 220
int Luminosite_avant,Luminosite_avantdroite,Luminosite_avantgauche,Luminosite_droite,Luminosite_gauche,Luminosite_arriere;
//-------------------------------------------------------------------------------//
// dÈbut du programme //
void main()
{
// Initialisation du Hemisson, autorise l'utilisation de la laison SÈrie et de la tÈlÈcommande TV
// Lance la lecture automatique des capteur IR et du rÈcepteur TV
hemisson_init();
// ...... commentaire ‡ complÈter ........ //
while(1)
{
//********* ‡ complÈter ************
//Mesurer la luminositÈ des capteurs avant gauches et droits
Luminosite_avant=MESURER_LUMINOSITE(Avant);
Luminosite_avantgauche=MESURER_LUMINOSITE(AvantGauche);
Luminosite_avantdroite=MESURER_LUMINOSITE(AvantDroit);
Luminosite_gauche=MESURER_LUMINOSITE(Gauche);
Luminosite_droite=MESURER_LUMINOSITE(Droit);
Luminosite_arriere=MESURER_LUMINOSITE(Arriere);
//Luminosite_avant=MESURER_LUMINOSITE(Avant);
//situation 1
if (Luminosite_avant
IMPOSER_VITESSE(VITESSE_RAPIDE,VITESSE_RAPIDE);
//situation 2
else if (Luminosite_avantgauche
IMPOSER_VITESSE(VITESSE_ARRIERE,VITESSE_RAPIDE);
//situation 3
else if (Luminosite_avantdroite
IMPOSER_VITESSE(VITESSE_RAPIDE,VITESSE_ARRIERE);
//situation 4
else if (Luminosite_gauche
IMPOSER_VITESSE(VITESSE_ARRIERE,VITESSE_RAPIDE);
//situation 5
else if (Luminosite_droite
IMPOSER_VITESSE(VITESSE_RAPIDE,VITESSE_ARRIERE);
//situation 6
else if (Luminosite_arriere
IMPOSER_VITESSE(VITESSE_RAPIDE,VITESSE_ARRIERE);
//situation 7
else if ((Luminosite_avant
IMPOSER_VITESSE(VITESSE_STOP,VITESSE_STOP);
//situation 7
else if ((Luminosite_avant>SEUIL_LUMIERE_AVANT))
//action 7
IMPOSER_VITESSE(VITESSE_STOP,VITESSE_STOP);
}
}
Téléchargez le main.c