Exercice : Détecteur de passage

Détecteur de passage

A partir de la fonction développée précédemment (getDetecteurLuminosite()), il est demandé de créer une fonction qui fournira une information binaire indiquant la présence d'un véhicule. Attention : aucune modification ne doit être apportée aux fonctions de la bibliothèque detecteur qui sera toujours intégrée au projet.

Question

Créez et testez une fonction getPassageVoiture(), basée sur la fonction précédente getDetecteurLuminosite() et qui permettra d'indiquer la présence d'un véhicule. De manière à éviter les fausses détections dues à de faibles variations autour d'un unique seuil, nous utiliserons un seuil haut et un seuil bas pour créer un hystérésis :

Voici le programme de test à utiliser :

1
#include "constantes.h"
2
#include "passage.h"
3
4
void setup() {
5
  passageInitialise(PORT_LIGHT_SENSOR);
6
  Serial.begin(9600);//Initialise le port série (pour l'affichage dans la fenêtre Moniteur)
7
}
8
void loop() {
9
 Serial.print("Luminosité : ");
10
  Serial.print(getPassageLuminosite());
11
  Serial.print(" Etat : ");
12
  if(!getPassageVoiture()){
13
  Serial.println("Voiture présente");    
14
  }
15
  else{
16
    Serial.println("Voiture absente");
17
 }
18
}

Solution

AttentionSolution sur simulateur : mise en garde

Attention : il s'agit d'une solution proposée sur le simulateur Wokwi. L'implantation sur un kit peut nécessiter des ajustements dans le sens où les composants réels ne sont pas obligatoirement les mêmes que ceux de la simulation.

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.

Tout programme non commenté ne sera pas corrigé.