Exercice : Cahier des charges

Fonctionnement

  • Lorsqu'un véhicule se présente devant la barrière, le conducteur doit appuyer sur un bouton pour que la barrière se lève.

  • En avançant, le véhicule passe devant un capteur de luminosité : la fermeture de la barrière aura alors lieu lorsqu'il quittera le capteur.

  • Entre le moment où le conducteur appuie sur le bouton et le moment où il quitte le capteur, un voyant clignote, indiquant une action en cours.

Description du projetInformations[1]

Remarques importantes

  • la conception devra respecter les principes de la programmation objet,

  • les commentaires devront être pertinents,

  • le voyant et le bouton seront gérés obligatoirement en mode interruptif,

  • le mouvement de la barrière sera relativement lent pour une simulation plus réaliste,

  • les numéros de ports, fournis dans le fichier d'en-tête ci-dessous, sont à respecter scrupuleusement

1
#ifndef _CONSTANTES_H      //tells compiler to compile this class only once 
2
#define _CONSTANTES_H
3
4
/* Principaux réglages (fichier constantes.h) */
5
6
/* Liste des ports utilisés */
7
#define PORT_LED  4
8
#define PORT_LIGHT_SENSOR A0
9
#define PORT_BP 3
10
#define PORT_SERVO 5
11
12
/* Les deux valeurs de seuil (pour la classe Passage) sont à 
13
  ajuster en fonction des conditions d'éclairage*/ 
14
#define SEUIL_HAUT 500
15
#define SEUIL_BAS 20
16
17
/* Autres constantes */
18
19
#endif

Question

Il est demandé de s'approcher au plus près du cahier des charges en respectant les principes de la programmation objet : en particulier, chaque objet physique (barrière, led, etc.) devra avoir sa correspondance logicielle sous forme de classe. Le voyant et le bouton seront gérés obligatoirement en mode interruptif.

L'ensemble du projet, au format .zip, est à déposer sur la plate-forme pédagogique au plus tard à la date qui vous sera indiquée.

Travail à rendre

Vous exporterez le croquis (OutilsArchiver le croquis) puis le déposerez sur la plate-forme pédagogique selon les instructions qui vous seront indiquées.