Liaison serie avec processing

Bonjour,

je suis debutant sous Arduino et je teste un des tutoriels sur la liaison série avec Processing.

Le projet est simple : changement de la couleur de fond d'une image Processing par l’intermédiaire d'un potentiomètre relié à l'Arduino.

J'ai recopié le code de demo mais j'ai un problème.

Pour que la valeur envoyée par la liaison série soit actualisée, il faut que je relance Processing alors que je pense que cela doit fonctionner en temps réel.
j'ai par ailleurs testé, les valeurs renvoyées dans le moniteur série par Arduino sont correctes

Pourriez vous me dire d'ou vient mon erreur.

Mes codes sont les suivants

Arduino

void setup() {
 Serial.begin(115200);
}



void loop() {

int a=analogRead(A0);
 
//Serial.print("Valeur relevee : ");  
//Serial.println(analogRead(A0)/4);

Serial.write(a/4);

delay(1);
}

Processing

import processing.serial.*;

Serial myPort;
PImage logo;
int bgcolor =0;


void setup()
{
colorMode (HSB,255);
logo=loadImage("http://www.arduino.org/images/arduino_official_Logo.png");
//size(logo.width, logo.height);
size(600,300);
println("Ports serie dispo sur le PC ");
println(Serial.list());

myPort= new Serial(this, Serial.list()[1],115200);

print ( myPort.available());

}


void draw() {
 
if ( myPort.available() >0 )
 {
bgcolor=myPort.read();
println(bgcolor);

 }
  
background(bgcolor,255,255);
image(logo,100,100);

}

Merci par avance

La prochaine fois je mettrai des balises code !!

Bonjour,

takron:
La prochaine fois je mettrai des balises code !!

Pourquoi la prochaine fois, fait le tout de suite
C'est mieux ainsi

Bonjour,

J'ai changé le delay de 1 à 100 et tout fonctionne.

il n'y a pas de raison de mettre un délai (si ce n'est pour éviter d'envoyer l'info trop souvent - mais dans ce cas il vaut mieux implémenter cela sans délai pour que votre code ne bloque pas l'arduino si nécessaire) vu que votre ordinateur tourne quand même bcp plus vite que votre arduino, il ne devrait avoir aucun mal à lire le flux de données en provenance de l'arduino...

Vous n'aviez pas votre fenêtre console Série de l'IDE arduino ouverte en même temps que votre programme processing?