Ceci est une ancienne révision du document !
L'objectif de cet article est de montrer sur un exemple simple comment dialoguer entre la carte Arduino et Processing. L'objectif est de mesurer la valeur lue sur UN capteur et de l'envoyer vers le programme Processing comme un paramètre pouvant faire varier la forme ou la couleur d'un graphisme.
Les programmes proposés sont des formes simplifiés des exemples SerialCallResponse de Processing et Arduino.
Le schéma suivant résume la situation :
Nous proposons ici de mesurer une distance à l'aide d'un capteur de distance ultrason et de faire varier la couleur d'une forme sous Processing.
On utilise un capteur de distance Ultrason Ultrasonic en Grove.
Le schéma de câblage est le suivant :
Le capteur Ultrason est branché sur le “slot” D7.
Le programme Arduino est le suivant : un_capteur_une_application_arduino.zip
#include "Ultrasonic.h" Ultrasonic ultrasonic(7); long distance=0; // variable qui stoke la valeur de la distance int firstSensor = 0; // first analog sensor int inByte = 0; // incoming serial byte void setup() { // start serial port at 9600 bps: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } establishContact(); // send a byte to establish contact until receiver responds } void loop() { // if we get a valid byte, read analog ins: if (Serial.available() > 0) { // get incoming byte: inByte = Serial.read(); // lecture de la distance distance = ultrasonic.MeasureInCentimeters(); // conversion de la valeur en un octet firstSensor = map(distance,0,400,0,255); // send sensor values: Serial.write(firstSensor); } } void establishContact() { while (Serial.available() <= 0) { Serial.print('A'); // send a capital A delay(300); } }