Arduino et Processing / Library et Firmata

Présentation de la librairie pour Processing permettant de contrôler une carte arduino sans avoir à programmer cette dernière.
La librairie de novembre 2016 pour les version 2.0 et 3.0 de processing est disponible ici.
Installation:
1 - Dézipper le fichier téléchargé et copier le dossier "arduino" dans le sous-dossier "libraries" du dossier "Sketchbook" de Processing; le chemin de ce dossier est renseigné dans les préférences du programme.
2 - Lancer le logiciel Arduino, ouvrir le croquis Exemples/Firmata/StandardFirmata et le charger dans la carte. Noter le port série de connexion de la carte.
3 - Récupérer l'identifiant de la carte arduino dans la liste des périphériques séries en lançant ce code dans Processing:

import processing.serial.*;
import cc.arduino.*;

String[] serialDevice = Arduino.list();

for(int i=0; i < serialDevice.length; i++){
  println(i + " - " + serialDevice[i]);
}

L'identifiant est le numéro de la ligne qui correspond au port relevé dans le logiciel Arduino (Outils/Port série) . Cet identifiant permet de sélectionner la carte grâce à l'expression: Arduino.list().[identifiant].

Exemple, clignotement de la led reliée à l'entrée digitale 13:

import processing.serial.*;
import cc.arduino.*;

Arduino arduino;
int ledPin = 13;

void setup(){
  arduino = new Arduino(this, Arduino.list()[0], 57600);
  arduino.pinMode(ledPin, Arduino.OUTPUT);
}

void draw(){
  arduino.digitalWrite(ledPin, Arduino.HIGH); delay(1000);
  arduino.digitalWrite(ledPin, Arduino.LOW);
  delay(1000);
}

Sources et références sur le site arduino.