Détecteur de mouvements

26 octobre 2021

Grove Adjustable PIR Motion Sensor

Type de connexion: digitale


Exemple d’utilisation

/*
    Auteur:       Alain Boudreault
    Date:         2021.10.26
    Clientèle:    Étudiant(e)s du cours 420-1C4: Objets connectés de CSTJ.
    Description:  Allumer une DEL si une personne est détectée dans la zone
                  de captation du module Grove 'Adjustable PIR Motion Sensor'.

    Référence:    https://wiki.seeedstudio.com/Grove-Adjustable_PIR_Motion_Sensor/              
*/

#define PIR_MOTION_SENSOR 6 
#define LED 3. 
 
void setup()
{
    // Initialiser les broches pour la DEL et le détecteur de mouvements
    initialiserLesBrochesDuArduino();
} // setup
 
void loop() 
{
    iYatiKekun() ? allumerLaDEL() : eteindreLaDEL();
} // loop

/* ---------------------------------------------------------
   Fonction: Initialiser les broches du Arduino   
   Retour:   void   
   ------------------------------------------------------ */
void initialiserLesBrochesDuArduino()
{
    pinMode(PIR_MOTION_SENSOR, INPUT);
    pinMode(LED,OUTPUT);
} // initialiserLesBrochesDuArduino

/* ---------------------------------------------------------
   Fonction: Allumer la DEL connectée à la broche DEL   
   Retour:   void   
   ------------------------------------------------------ */
void allumerLaDEL()
{
    digitalWrite(LED,HIGH);
} // allumerLaDEL

/* ---------------------------------------------------------
   Fonction: Éteindre la DEL connectée à la broche DEL   
   Retour:   void   
   ------------------------------------------------------ */
void eteindreLaDEL()
{
    digitalWrite(LED,LOW);
} // eteindreLaDEL

/* ---------------------------------------------------------
   Fonction: Détecter une personne dans la zone du capteur.   
   Retour:   boolean, retourne 'vrai' s'il y a détection.   
   ---------------------------------------------------------        
*/
boolean iYatiKekun()
{
    int sensorValue = digitalRead(PIR_MOTION_SENSOR);
    if(sensorValue == HIGH) // si valeur du capteur PIR est HIGH (1) alors
    {
        return true;   // Oh, il y a un coquin qui est passé devant le capteur!
    }
    else
    {
        return false;  // Et ben non :-(, pas de visite ...
    }
}

Défi informatique

Optimiser la fonction iYaTiKekun() pour utiliser le moins de code possible.