Il reste à gérer le passage d'un état à l'autre du dispositif, en fonction des transitions définies au début du projet. Certaines sont automatiques d'autres dépendent du capteur. Dans tous les cas, il ne restera rien à faire manuellement.
L'objet loadbang
envoie un message d'activation à la première étape après un petit délai. Le petit délai permet de s'assurer que l'état d'Attente se met en route avec l'audio et l'image activés.
Un send etape1
correspond au r etape1
connecté à la première étape.
Attention !
Ces send-receive sont nommés etape1, etape2, etc. Il n'y a pas d'espace dans ces noms !!!!
Le fait d'arriver dans l'étape 4 d'Adieu en se levant de la chaise déclenche un délai qui automatiquement conduit à revenir au point de départ.
Le délai doit être suffisamment long pour décourager le visiteur de s'asseoir à nouveau.
Le signal est aussi envoyé sur le receive etape1
.
Remarque : ce retour à l'étape d'Attente permettra également d'ouvrir le onebang
de passage à l'étape 3 Assis, dans la suite du patch. En phase de test, simplement cliquer sur le bang de l'étape d'Attente ne suffit pas toujours à retrouver complètement toute la situation de l'Attente, il vaut mieux envoyer un send etape1
.
Ajouter des receive
au-dessus des trigger de tous les états déclenchables, comme avec r etape1
.
Le déclenchement de l'étape 3 Assis se fait sur un seuil de détection : si les données du capteur deviennent supérieures à 60, c'est que le visiteur s'est assis.
C'est là que se détermine le fonctionnement fondamental du dispositif.
Un simple seuil permet effectivement de passer à l'étape 3 Assis mais ne bloque pas son redéclenchement : le visiteur peut se lever, se rasseoir, et l'étape 3 redémarre, le son redémarre.
Pour bloquer l'avancée du dispositif, empêcher le retour en arrière mais surtout pour rendre chaque étape unique, l'une des solutions est d'utiliser un onebang
.
L'objet onebang
se ferme dès que le signal est passé, c'est une gate automatique dédiées aux bangs.
Ici, il permet de ne passer en état 3 qu'une seule fois. C'est le seul endroit qui active l'état 3, une fois le onebang fermé, il n'est plus possible d'y retourner.
L'objet onebang
permet de gérer facilement des dispositifs qui évoluent narrativement au cours du temps, qui enchaînent des étapes pour avancer dans une histoire.
Ici il n'est utilisable qu'à partir des états 1 et 2 : il est automatiquement ouvert au démarrage, et le r etape1
sur l'entrée reset permet de le réouvrir seulement lorsque le dispositif revient à la phase d'Attente.
Le passage à l'état 4 Adieu repose sur le même principe : lorsque le départ du visiteur est détecté, les valeurs du capteurs descendent sous 50, une détection par seuil déclenche le 4e état.
Remarquons que les valeurs du capteur sont les mêmes que celles possibles aux états 1 et 2, or nous ne pouvons pas passer à l'état 4 Adieu à partir des états 1 ou 2.
Cela est possible car l'objet onebang
est fermé par défaut aux états 1 et 2, son entrée reset est activée lors de l'arrivée dans l'état 3 Assis, via le r etape3
. Cette possibilité unique de passer à l'état 4 Adieu n'est donc accessible que lors de l'état 3 Assis.
Enfin, le fait d'utiliser un seuil différent, plus faible pour sortir de l'état Assis revient à créer un comparateur à hystérésis.