Ceci est une ancienne révision du document !
La communication via le port série de la carte Arduino utilise principalement deux fonctions :
Lorsque la carte Arduino communique avec le logiciel Processing, ce dernier utilise la librairie Serial. Pour lire une donnée sur le port série il est possible d'utiliser plusieurs méthodes :
Pour envoyer des nombres, Arduino est contraint de les coder uniquement sur un octet, via la méthode Serial.write(). De même, le logiciel Processing ne peut recevoir que des nombres codés sur un octet via la méthode read() issue de la librairie Serial.
Ceci contraint fortement le dialogue entre la carte Arduino et le logiciel Processing car, dès lors, il n'est possible d'envoyer et de recevoir que des nombres entiers compris entre 0 et 255.
Pour contourner ce problème, une des solution est de convertir le nombre (float, int, long, double, etc.) en une chaîne de caractère (String) et d'envoyer cette chaîne sur le port série via la méthode Serial.print(), du coté de la carte Arduino.
Du coté de la réception sur l'application Processing, la chaîne de caractère envoyée par la carte Arduino sur le port série est d'abord lue par la méthode readString() de la librairie Serial. Ensuite, la chaîne est convertie en un entier grâce à la méthode int(), ou en un nombre flottant grâce à la méthode float().
On utilise un capteur à ultrason Grove pour mesurer une distance. On envoie ensuite la distance mesurée à l'application Processing. Le montage est le suivant :