Objectifs attendus:
Se rendre sur la classe TinkerKad:
// C++ code // #define MOTEUR1_EN 6 #define MOTEUR1_IN1 7 #define MOTEUR1_IN2 5 void avancer() { analogWrite(MOTEUR1_EN, 62); digitalWrite(MOTEUR1_IN1, HIGH); digitalWrite(MOTEUR1_IN2, LOW); delay(200); } void setup() { pinMode(MOTEUR1_EN, OUTPUT); pinMode(MOTEUR1_IN1, OUTPUT); pinMode(MOTEUR1_IN2, OUTPUT); } void loop() { avancer(); delay(500); }
Fonctionnement du contrôleur moteur L293D:
https://www.tinkercad.com/things/8gpHB1obZhl-pir-sensor-example
Faire l'activité dans un premier temps sur Vittascience puissur TinkerCad.
Algorithme : Interrupteur crépusculaire avec détection de présence et forçage Variables (conceptuelles) Luminosité : valeur mesurée par la LDR Présence : état du capteur PIR (oui / non) Forçage : état de l’interrupteur (activé / non) État_LED : allumée / éteinte Seuil_lumière : valeur limite entre jour et nuit Algorithme principal 1. Initialisation Fixer un seuil de luminosité (crépuscule). Mettre la LED à l’état éteint. 2. Boucle de fonctionnement (répétée en permanence) Mesurer la luminosité avec la LDR. Lire l’état du capteur PIR (présence ou non). Lire l’état de l’interrupteur de forçage. 3. Décision d’allumage Cas 1 : Forçage activé Allumer la LED, quelle que soit la luminosité et la présence. Sinon (mode automatique) : Si la luminosité est faible (nuit ou crépuscule) ET qu’une présence est détectée → Allumer la LED. Sinon → Éteindre la LED. 4. Retour au début de la boucle
Pour éviter que la LED s’éteigne trop vite :