Cours:ProcessingArduino : Différence entre versions
(→{{Bleu|Un bouton ...}}) |
|||
| Ligne 29 : | Ligne 29 : | ||
{{Question|Changer la couleur du disque en fonction de l'état du drapeau (rouge ou noir)}} | {{Question|Changer la couleur du disque en fonction de l'état du drapeau (rouge ou noir)}} | ||
| − | {{Question|Initialiser la liaison série | + | {{Question|Initialiser la liaison série à 9600 bauds/s}} |
<source lang=java> | <source lang=java> | ||
Version du 16 octobre 2017 à 14:35
Communication Arduino -- Processing
Sommaire
Prise en main
Commencez par consulter le lien suivant :
Exercice 1
Vous allez à l'aide des différentes étapes proposées, commander des sorties de la carte Arduino (des leds), à partir d'une interface graphique écrite en langage Processing.
Un bouton ...
Commençons par créer une interaction avec l'utilisateur. Pour ce faire, on détermine une zone cliquable qui sera représentée par un rectangle à l'écran.
Vous vous servirez bien évidemment de la fonction mousePressed()
Créer une fenêtre de taille 700x400
Dessiner un disque de diamètre 300, au centre de l'écran : on pourra utiliser width et height
Afficher un message à chaque clic : on utilisera println
Modifier pour que ce message ne s'affiche que si la souris est dans le disque
Modifier l'état d'un drapeau à chaque clic : le drapeau sera réalisé grâce à une variable de nom isAllume et de type boolean.
Changer la couleur du disque en fonction de l'état du drapeau (rouge ou noir)
Initialiser la liaison série à 9600 bauds/s
// On importe la librairie qui permet de communiquer en série
import processing.serial.*;
Serial myPort; // On crée une instance de la classe Serial
void setup()
{
...
// A vous de trouver quel port série est utilisé à l'aide de print(Serial.list())
String portName = Serial.list()[0];
// On initialise la communication série, à la même vitesse qu'Arduino
myPort = new Serial(this, portName, 9600);
...
}
Envoyer les caractères A ou E (allumer / éteindre), suivant l'état du flag, au clic
... une action
On modifiera l'état de la led '13' sur une carte Arduino, suivant la valeur du caractère envoyé.
Configurer la liaison arduino à la bonne vitesse
Configurer les e/s de la carte arduino
Lire l'état de la liaison série, et modifier en conséquence l'état de la led
Exercice 2
Plusieurs boutons
Modifier le programme processing en disposant 2 boutons, l'un pour allumer et l'autre pour ... éteindre !
côté arduino
Quelles modifications devons nous apporter ?
Exercice 3
En utilisant le shieldArduino, écrire le programme répondant au cahier des charges suivant :
Modifions l'interface en disposant désormais 2 boutons, appelés "+" et "-".
Lors de l'appui sur "+" ("-"), une led supplémentaire doit s'allumer (s'éteindre).
Le protocole utilisé ( message envoyé sur la liaison série) sera tout simplement le nombre de led à allumer.