Utilisation d'Arduino au Théâtre

Bonjour,
je me présente, Daniel, passionné d'informatique, mais nul en langage de programmation si ce n'est le VBA que je pratique un peu. Depuis ma retraite, je donne des cours d'Excel en bénévolat à des personnes de plus de 50 ans.

Je fais également partie de la troupe théâtrale de mon village. Des amateurs ! donc pas de gros budget.

Dans la prochaine pièce que nous mettons en scène, nous avons une répétition de portes ouvertes - fermées où la bonne réussite est que dès que l'un sort, l'autre entre par la seconde porte et vice versa.

J'ai pensé à développer une application sur base d'Arduino pour allumer une Led au dessus de la porte à l'instant où l'acteur peut la pousser pour l'ouvrir.

Voici mon scénario (de portes ouvertes fermées) ;

1.- Porte A s'ouvre ………………….. il ne se passe rien

2.- Porte A se referme ……………. il ne se passe rien

3.- Porte A s'ouvre ………………….. il ne se passe rien

4.- Porte A se referme ……………. allumage de la Led en porte B.

5.- Porte B s'ouvre …………………. extinction de la Led

6.- Porte B se ferme ……………… Il ne se passe rien

7.- Porte B s'ouvre ………………… Il ne se passe rien

8.- Porte B se ferme ……………… allumage de la Led en porte A

9.- Porte A s'ouvre ………………… Extinction de la Led

et ceci à plusieurs reprises.

Est il possible de programmer (et comment) cela à partir d'un Arduino et de relais ?

Merci de votre aide

Bonsoir,

Ce scénario peut être résolu avec une logique combinatoire, les moyens pour résoudre ces genres de problèmes sont assez simple.

Un crayon, une feuille, un tableau de Karnaugh.

Bonsoir,

En logique combinatoire ça ne marche pas, les états 2 et 4 donnent des sorties différentes.
Il faut utiliser la logique séquentielle.
Par exemple: la Led porte B s'allume après la deuxième fermeture de la porte A.
Il suffira de compter le nombre de fermeture, etc..
Par contre, il faudrait, pour chaque étape préciser l'état de l'autre porte "se ferme" ou "s'ouvre".

sinon pour en revenir au sujet initial, une petite machine à état devrait faire l'affaire :slight_smile:

reste à placer judicieusement des boutons sur les portes pour détecter l'ouverture afin de passer à l'etat suivant

Bonjour SimKmil

SimKmil:
je me présente, Daniel, passionné d'informatique, mais nul en langage de programmation si ce n'est le VBA que je pratique un peu.

C'est déjà pas mal, je pratique aussi le VBA, ça aide à attraper une logique qui peut très bien servir dans le langage "Arduino".
Quelques questions, que doit-il se passer si des événements se passent sur la porte B alors qu'on dans les séquences de la porte A et vice-versa?
Que faire si la porte A est ouverte et fermée plusieurs fois sans action sur la porte B et ainsi de suite...
Le problème dans ce genre de programme, c'est qu'il y a l'humain...

Pour débuter un bout de programme, je pense que l'usage des interruptions de l'Arduino rendra la chose plus pratique, ces interruptions peuvent surveiller les 2 portes sans que ton programme n'aie à s'en occuper et, avantage supplémentaire, on peut capturer l’événement d'une porte en sachnt si elle s'ouvre ou elle se ferme.
Un petit coup d’œil sur ce site pour voire à quoi ressemblent les interruptions.
Jouer avec les interruptions quand on est débutant, ça peut paraître rude, mais il faut bien plonger une fois!

Cordialement
jpbbricole