Mini Défi #7 : Clignotement de lampe Résolu
🔧 Contexte :
Tu dois faire clignoter une lampe de manière régulière, 1 seconde ON / 1 seconde OFF, en boucle.
Mais attention : tu veux que la lampe clignote uniquement quand un bouton est appuyé.
Dès que le bouton est relâché, la lampe s’éteint immédiatement.
🧠 Objectifs :
-
Gérer un clignotement alterné et stable
-
Interrompre proprement le clignotement dès relâchement du bouton
-
Ne pas utiliser de blocs
BLINK
tout prêts (défi de logique !)
🎯 À toi de jouer :
-
Propose ta solution en Ladder, ST, ou même en pseudo-code
-
Bonus : ajoute une temporisation d’anticoincement pour éviter les rebonds
Réponses
Ma proposition pour le defie7
if button then
TON_1 (IN := TON_2.Q,PT := T#1s);
TON_2 (IN := NOT TON_1.Q,PT := T#1s);
END_IF;
if TON_2.Q then
lampe :=flashlight;
END_IF;

Koala097
Yoyo
Voici ma réponse en ladder, biensûr si vous avez des idées d'amélioration n'hésitez pas : I:0.0 représente mon bouton et O:0.0 représente la lampe :

Koala097
Yoyo
J'ai remarqué plus tard qu'on peut supprimer le "T:1.DN" sur la ligne TON
SebastienLL
None
// TON1 : TEMPS DE ON
// TON2 : TEMPS DE OFF
IF BOUTON
THEN TON1(TON2.Q,t#1s);
TON2(NOT TON1.Q,t#1s);
LAMPE:=TON2.Q;
ELSE LAMPE:=FALSE;
END_IF;

Maitre du Jeu
"One who knows nothing can understand nothing" - Master Xehanort
📅 Correction du Mini-Défi #7 – Clignotement de lampe
Faire clignoter une lampe ? Facile.
Mais le faire proprement, avec interruption immédiate et sans blocs tout faits ? C’est là qu’on teste les vrais réflexes 🔧
🎯 Objectif :
-
Lampe active 1 seconde ON / 1 seconde OFF
-
Fonctionnement uniquement si le bouton est appuyé
-
Extinction immédiate dès relâchement
✅ Exemple de solution en Structured Text :
🔄 Variante Ladder :
.
🔧 Points clés :
-
Pas de BLINK
-
Interruption gérée dès le relâchement du bouton
-
Séparation entre tempo et commande lampe