Pour être vraiment rigoureux, cette page traite à la fois de la captation mais aussi de la décision, les analyses des données des capteurs servant à naviguer entre les états, avec des éléments supplémentaires tels que des gestions de flux et des automatismes comme les délais.
Néanmoins ces notions d'analyses dérivant de l'utilisation des capteurs, il est assez logique de les présenter dans cet ordre.
Par rapport au schéma fonctionnel, cette page s'occupe de la programmation des flèches = transitions entre états.
Poser deux objets ctlin
configurés sur les numéros des prises sur lesquelles sont branchés les capteurs. Ces numéros dépendent de la carte utilisée, par exemple 0 et 1 pour un 2-Analogiques ou 48 et 49 pour un 4-Ana.
Des sliders simples permettent
Ajouter des objets receive
à chaque trigger d'état.
Attention à ne pas mettre d'espace dans le nom d'un send / receive !!
... Sinon ils s'appellent tous "etat"...
Le premier état, des cris dans la nuit, est déclenché au démarrage du patch.
Le loadbang
envoie le signal sur un s etat1
correspondant au r etat1
de la zone de décision. Ce déclenchement se fait par précaution 100 ms après les initialisations générales, pour s'assurer que l'état démarre dans un contexte où tout est prêt pour la diffusion.
Si le visiteur saisit le phaser, le capteur pyro varie.
Pour identifier cette variation, les données sont analysées par un seuil.
Détails sur le seuil : Utiliser un capteur
L'objet onebang
est l'objet fondamental gérant la transition de l'état 1 à l'état 2.
Détails sur le onebang : Objets Max utiles
Comme le dispositif démarre en l'état 1, ce onebang est ouvert par défaut (argument 1).
Une fois l'état 2 déclenché par le capteur, ce onebang est fermé. Bouger devant le pyro fait évoluer l'état 2 mais nous ne revenons pas à l'état1 s'il n'y a pas de mouvement.
Le onebang est réinitialisé sur son entrée de droite par un retour à l'état 1.
L'état 2 a une limitation de durée : au bout de 30 secondes, si personne n'a trouvé l'œuf, le dispositif revient à l'état 1.
Ce retour est automatique.
Lorsque l'état 2 est déclenché, un délai est activé avec delay 30000
pour revenir à l'état 1.
Suivons le schéma fonctionnel des transitions : il est possible d'entrer dans l'état 3 de l'œuf depuis les états 1 et 2, en s'approchant du détecteur capacitif.
La détection par seuil se fait sur le même principe que pour le pyro mais la valeur de seuil est fixée à 31, pour avoir le premier niveau d'approche.
Le onebang est ouvert lors des états 1 et 2, il est donc réinitialisé par le déclenchement de ces deux états (s etat1 et s etat2).
Le s etat3
sert à activer l'état de l'œuf.
Attention : activer l'état 3 ne suffit pas. Il faut aussi empêcher le délai de l'état 2 d'arriver à terme et de déclencher un retour à l'état 1. Le signal envoie donc un message stop
à ce delay 30000
via un s stopretour1
.
Les données du capacitif sont envoyées dans un deuxième seuil. Il n'y a pas de risque de déclencher l'état 4 depuis le 1 ou 2 car le onebang
n'est pas ouvert avant l'état 3. Il faut forcément passer par 3 pour atteindre 4.
Le seuil est désormais fixé à au-delà de 96, pour ne détecter que le dernier stade d'approche à 126, au toucher de l'œuf.
En sortie, par précaution, le signal envoie aussi un stop sur le delai de l'état 2.
Attention à ne pas déclencher le délai par le onebang mais directement par le sel.
En effet, si le délai dépend du onebang, il y a un risque que l'état 5 ne se déclenche pas. Par exemple, si l'état 4 est activé mais que le visiteur s'éloigne un peu de l'œuf, les valeurs du capacitif diminue. La video de Spock reste à l'écran mais le delay
a été arrêté par le message stop
. Si l'œuf est à nouveau touché, comme le onebang
n'a pas été réinitialisé, l'objet delay
n'est plus redéclanché et l'état 5 est inaccessible.
Cette étape sert à préparer le dispositif pour un autre visiteur. Après un certain temps dans l'état de paix, un délai ramène automatiquement le dispositif dans l'état 1. Cette transition est indépendante des capteurs.