/* 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 ... } }
Optimiser la fonction iYaTiKekun() pour utiliser le moins de code possible.