Captation

V - Belgariade : construction du programme - Suite et fin

Dans ce chapitre nous automatisons tout le fonctionnement du dispositif. En pratique, nous devons rendre automatique tout ce qui nécessitait jusqu'à présent un clic de souris :

  • Le démarrage de la première étape, l'enfance à la ferme, qui est indépendante des capteurs et qui conditionne le bon fonctionnement des suivantes comme nous allons le voir ;
  • Le déclenchement des étapes suivantes en fonction de l'un ou l'autre des capteurs ;
  • Le retour au début après un délai lorsque tout le parcours est fini.

Chaque étape sera associée à un objet receive afin de recevoir son ordre de déclenchement. Ce receive est branché sur le bang du gros trigger.

Attention à une erreur récurrente dans les noms de ces send-receive : NE PAS UTILISER D'ESPACE ! Il est tentant de les nommer r etape1 ou r etape02 mais sans espace, sinon toutes les etapes s'appellent pareil et rien ne fonctionne !

  • Alternative spéciale pour confinement et enseignement à distance : le playback !
  • Cf chapitre Playback
  • Profiter d'une séance en direct pour enregistrer des données de capteurs avec un objet mtr, ou se référer aux enregistrements de la page Catalogue
  • Insérer ces enregistrements dans le patch et les déclencher via des touches de clavier.

Playback
Catalogue
Patchs par étapes et médias : belgariade3.zip

11 - Démarrage automatique

L'ensemble des objets et messages gérant le démarrage automatique du son et de l'image est déjà dans le sous-patch p debut, comme vu dans la page Décision. Nous y rajoutons le démarrage automatique de la première étape du dispositif, avec un objet s etape01 qui correspond à un r etape01 dans le patch principal, relié au bang déclenchant la première étape.

Dispositif interactif en Max - Démarrage automatique

Pour loadbang et sous-patch, cf Objets Max utiles

Avec ce type de démarrage, le dispositif peut être entièrement automatisé, dans le cas d'une installation exposée c'est très pratique :

  • Démarrer l'ordinateur (1 bouton...)
  • Mettre le patch Max en lancement automatique dans le menu Startup de l'OS
  • ... en s'étant assuré que l'extension .maxpat est bien associée à Max dans sa bonne version (32 bits pour Jitter fonctionnel)
  • Une fois le patch lancé, le loadbang assure que le dispositif se place en étape 1.

12 - Gestion des capteurs

Réception des données des capteurs

Branchement des capteurs sur une interface 2-Analogiques ou ZIP2 ou 4-Analogiques.

  • Capteur de mouvement : détecteur pyroélectrique de mouvement de chaleur, version analogique
  • Capteur de distance : proximètre infrarouge, portée 80 cm ou 1,5 m.

cf Utiliser un capteur

  • Brancher le capteur pyro sur la prise numéro 0 et le proxi sur la prise 1 (4-Analogiques : pyro sur 48, proxi sur 49)
  • Objet ctlin configuré sur les numéros 0 et 1 (sur 48 et 49 si carte 4-Analogiques)
  • Poser un slider pour afficher les valeurs sous la sortie de gauche de chaque ctlin
  • Ce slider sert à la fois à afficher passivement les valeurs envoyées par le capteur, si un vrai capteur est branché,
  • et à manipuler à la souris pour simuler un capteur s'il n'y en a pas de branché.
  • Créer un sous-patch p capteur_mouv qui contiendra l'analyse du capteur pyroélectrique. Le but de ce sous-patch est simplement de gagner de la place et de faire une zone logique dédiée à ce capteur.
  • Créer dans le patch principal un autre sous-patch p capteur_distance.

Analyses du capteur de mouvement pyroélectrique

Transition de 01 vers 02 / La quête

Dans le sous-patch p capteur_mouv

  • Créer une entrée pour brancher les données du capteur : objet inlet, qui se transforme en carré avec un triangle
  • Faire un seuil : objets de comparaison > puis objet change puis objet select
  • Page à consulter pour le seuil : Utiliser un capteur
  • Ce seuil permet d'obtenir un signal (un bang) chaque fois qu'un mouvement est détecté
  • Le flux continu de valeurs du capteur est remplacé par cette information unique
  • Déclencher l'étape 2 une seule fois et seulement lorsque le dispositif est dans l'étape 1 : objet onebang
  • Page à consulter pour onebang : Objets utiles
  • Il ne faut pas que l'étape de voyage soit déclenchée plusieurs fois => bloquer le re-déclenchement quand il a eu lieu
  • L'étape 2 ne se fait QUE à partir de l'étape 1 => Le onebang est ouvert à l'étape 1 et fermé partout ensuite.

Dispositif interactif en Max - Capteur pyroélectrique
Dispositif interactif en Max - Capteur de mouvement - Sous-patch

Transition de 02 vers 03 / La découverte de l'orbe

Compter 5 mouvements successifs : objet counter.
Arguments : compter de 1 à 5.
Sorties :

  • à gauche : le résultat du compte, affiché sur un nombre pour information seulement
  • 3e sortie : celle qui nous intéresse, sort 0 quand le comptage commence à 1 et sort 1 quand le comptage est arrivé au max à 5. C'est cette dernière information qui nous est utile, donc sel 1 en dessous.
    Entrées :
  • à gauche, incrémente le compte. Reçoit un bang à chaque mouvement détecté.
  • 3e entrée : sert à réinitialiser le compteur, à revenir au minimum de 1. C'est indispensable pour avoir un compte juste car le capteur peut avoir détecter des mouvements à d'autres étapes.

Dispositif interactif en Max - Capteur de mouvement de chaleur
Dispositif interactif en Max - Mouvement - Sous-patch
Déclencher l'étape 3 une seule fois et seulement lorsque le dispositif est dans l'étape 2 : objet onebang, ouvert à l'étape 2 et ni avant ni après.

Analyses du capteur de distance proximètre

Sous-patch

Etape 3 : modulation de la luminosité par le capteur / La pulsation de l'orbe

Cette étape est la seule dans laquelle les données d'un capteur servent de média : l'information de distance est utilisée pour moduler un visuel.

  • Associer les valeurs du capteur à la variation de luminosité :
  • Objet scale min_capteur max_capteur min_lum max_lum

  • Ne le faire QUE à l'étape 3 :
  • Objet gate

    Dispositif interactif en Max - Capteur de distance - Sous-patch
    Ajouter le contrôle de la gate dans le patch principal, avec un nouveau send-receive
    Dispositif interactif en Max - Capteur de distance

    Transition 03 vers 04 / Le duel

    Dispositif interactif en Max - Proximètre
    Dispositif interactif en Max - Capteur de distance - Sous-patch

    Transition 04 vers 05a / La paix dans le monde

    Comptage avec l'objet counter
    Dispositif interactif en Max - Capteur proxi
    Dispositif interactif en Max - Capteur de distance - Sous-patch

    Transition 04 vers 05b / La fin du monde

    Utiliser un délai qui déclenche automatiquement cette étape.
    Attention ! Si la paix est gangée, il faut arrêter ce délai !
    Sinon la paix est déclanchée puis la fin du monde arrive...
    Donc quand le 4e coup d'épée déclenche la paix, il envoie aussi un message stop sur le delay de la fin du monde.
    Dispositif interactif en Max -  Distance
    Dispositif interactif en Max -  Distance - Sous-patch

    13 - Retour automatique à l'étape 01

    Le fait de passer dans l'une ou l'autre des étape 05 déclenche un délai qui permet le retour en phase d'enfance au bout d'un moment.
    Dans le patch principal :

    • Le moment du déclenchement du délai se fait sur des r etape05a et r etape05b
    • L'objet delay 14000 attend 14 secondes avant d'envoyer un bang
    • sur un objet s etape01 qui assure un retour propre à la première étape, tout en ouvrant aussi le onebang qui permet au dispositif de passer à l'étape 02.

    Dispositif interactif en Max - Retour au début

    14 - Corrections




    Réinitialiser les compteurs counter aussi aux étapes précédentes 1 et 3. Cela évite une interférence relativement rare mais gênante où une étape est sautée à cause d'un compte erroné lié au fait que le capteur est envoyé vers des seuils parallèles en permanence.

    15 - Playback

    Playback

    Ergonomie : utiliser les touches du clavier pour lancer les enregistrements.
    Plus simple qu'à la souris.
    Compatible avec un visuel plein écran.

    16 - Tout

    Dispositif interactif en Max - Ensemble du patch

    Téléchargement des étapes, patchs et médias
    Patchs par étapes et médias : belgariade3.zip