Mini Défi #7 : Clignotement de lampe Résolu

04/07/2025 Apprentissage PLC > Exercices et projets d'entraînement

🔧 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

05/07/2025 00:22

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;

06/07/2025 12:00

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 : 

06/07/2025 12:21

J'ai remarqué plus tard qu'on peut supprimer le "T:1.DN" sur la ligne TON

06/07/2025 21:44

// 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;

08/07/2025 07:07

📅 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