Programmation et utilisation de la carte Versa1

Nous allons maintenant utiliser cette carte dans les patchs Pure Data.

Si vous faites défiler le document main.c dans l'éditeur de texte, vous trouverez la fonction fraiseReceiveChar() qui indique comment le programme doit traiter les caractères reçus. En particulier,

    c=fraiseGetChar(); 
    if(c=='L'){        //switch LED on/off 
        c=fraiseGetChar(); 
        digitalWrite(LED, c!='0');         
    }

signifie que si le caractère reçu est un 'L' alors le caractère suivant indiquera si la LED doit être allumée ou éteinte. En effet, c!='0' vaut 1 (true et 1 étant équivalent en langage C) si c est différent de 0. L'instruction digitalWrite(LED,1) allume la LED.

Cette fonction fraiseReceiveChar() ne doit pas être modifiée ; nous la consultons pour montrer que le système Fraise fonctionne en échangeant des messages entre la carte Fruit et le patch Pure Data qui tourne sur l'ordinateur, échange de messages via la carte Pied. La carte Pied peut gérer les communications de plusieurs cartes ; c'est même sa fonctionnalité principale.

Pour allumer ou éteindre la LED, il faut donc envoyer un message. Ajoutez à votre patch premierPatchFraise.pd. les boîtes objets et messages ci-dessous.

fruit send

fruit/send est l'objet pour envoyer des messages à la carte Fruit ; le paramètre est le nom du micro-processeur de la carte. Maintenant en cliquant sur le message L1, vous allumez la LED ; en cliquant sur le message L0, vous éteignez la LED. Le message Lx allume la LED car tout ce qui est différent de 0 allume la LED.

On peut maintenant écrire des patchs qui utilisent cette fonctionnalité. Par exemple :
fruit send Led

Ce patch permet d'allumer ou d'éteindre la LED de façon clignotante, selon un métronome et de varier le rythme. Le métronome va cocher/décocher l'interrupteur vert, ce qui revient à lui faire prendre la valeur 0 et 1 alternativement ; ceci est envoyé en message paramétré L$1 à la carte Fruit fruit01.
L'interrupteur blanc met en marche ou arrête le métronome, donc le clignotement de la LED (qui peut être arrêtée en position allumée).
Le rythme de clignotement peut être modifié à 20, 100 ou 1000 ms.

Le programme chargé dans le micro-processeur de la carte Fruit contient l'affichage d'un message
printf("Cs Hello ! t2=%d\n", t2);
donc l'envoi de messages de la carte vers l'ordinateur. Pour les recevoir, placez une boîte objet fruit/receive dans le patch Pure Data ; cet objet a pour paramètre le nom de la carte fruit01. Les messages constituent une liste qu'on transforme en symbole pour l'afficher.
Ajoutez une boîte objet l2s dont l'entrée est reliée à la sortie de l'objet fruit/receive. Ajoutez une boîte symbole dont l'entrée est reliée à la sortie de l'objet l2s.
fruit receive dans programme

L'objet fruit/send2 envoie le message après avoir testé la présence du fruit.

fruit send 2

results matching ""

    No results matching ""