Mini Défi #10 : Gestion d’alarmes multi-zones Résolu
🔧 Contexte :
Tu dois surveiller 12 capteurs répartis sur 3 zones (A, B, C).
Chaque zone déclenche une alarme si au moins un capteur est actif.
🔢 Répartition des capteurs :
-
Zone A :
A1
àA4
-
Zone B :
B1
àB4
-
Zone C :
C1
àC4
🎯 Objectif :
Créer une logique propre et factorisée qui :
-
Active
alarme_A
si l’un des capteurs de la zone A est actif -
Idem pour B et C
-
Reste lisible et scalable : on veut pouvoir ajouter des zones ou capteurs facilement
Réponses

Koala097
Yoyo
Ci-dessus mon ladder, je ne pouvais pas modifier pour pourvoir réécrire mon texte 😅
Il y a donc 4 entrées (détecteurs) pour chaque sortie (alarme)
Il y avait une autre façon de faire qui aurait prit plus de place, j'ai donc préféré faire celui-ci pour que ce soit linéaire 😉
sasukii
None
je ferais une structure avec la définition de l'alarme A B C D puis je rappelerai cette structure pour les 3 moteurs.

Maitre du Jeu
"One who knows nothing can understand nothing" - Master Xehanort
Correction - Alarme par zones dynamiques
🎯 Objectif rappelé :
Activer 3 alarmes (alarme_A
, alarme_B
, alarme_C
) si au moins un capteur est actif dans leur zone respective.
Le tout avec un code propre, évolutif et factorisé.
🔍 Solution brute (non recommandée) :
➡️ Lisible pour 4 capteurs… ingérable à 20. 😬
✅ Solution factorisée avec tableaux et boucle :
✅ Cette version permet de :
-
Ajouter/supprimer facilement des capteurs
-
Réutiliser la structure pour d'autres zones
-
Centraliser la logique
Mais elle est un peu répétitive et devient vite illisible suivant le nombre d'alarme a gérer ainsi.
🚀 Bonus – Fonction personnalisée :
Appel:
📌 Ce type de structuration est capital pour les projets complexes.

Maitre du Jeu
"One who knows nothing can understand nothing" - Master Xehanort
Cette instruction permet de réaliser une boucle.
Dans l'exemple, 'i' prend successivement comme valeur 1 puis 2 puis 3 puis 4.
Permettant de vérifier les zones facilement et de déclencher l'alarme dès qu'une des zones est active.