visualisation de plusieurs signaux arduino sur processing

bonjour,
pas sur d'être au bon endroit, je devrais peut-être ecrire sur processing

j'essaie de récupérer et visualiser avec processing plusieurs signaux analogique et binaire envoyés par arduino sur la liaison série
Arduino envoie des données avec le format suivant

data1,data2,bin1,bin2

soit quelque chose qui ressemble à

512,124,0,1
520,120,0,1
530,130,1,0
...

mon problème, c'est que je n'arrive pas à initialiser l'acquisition avec processing, les premières trames acquises ont un format bizarre

connection a COM4
355,88,0,j345,85,bŠHhšºb¢b‚bŠj
32,8,0,1
321,80,0,1
312,77,0,1
304,75,0,0
295,73,0,0

ce qui plante mon programme

le programme processing est le suivant

============
/*
oscilloscope minimaliste avec un arduino
récupère les valeurs via une liaison serie
*/
import processing.serial.*; // importation de la librairie de communication serie
//variables
Serial maConnection; // Crée un objet de communication série
int tension1; // variable ou sera stockée la valeur de la tension
int tension2; ////affichage
int fenetreTemps=12000; // temps pour parcourir la largeur de l'écran en millisecondes
int x=0;
int y=0;


void setup() {
    size(650, 400); // taille de l'ecran
    String NomDuPort = Serial.list()[1]; // récupère la première interface serie trouvée
    println("connection a "+NomDuPort);
    maConnection = new Serial(this, NomDuPort, 9600); // création de la connexion série
    background(255); // fond d'écran blanc
    smooth(); // lisser les dessins
    strokeWeight(2); // largeur de trait
    stroke(40); // couleur du trait gris
}

void draw() { //boucle de dessin principale
    //rien ne s'y passe, tout est géré dans la fonction serialEvent
}

void serialEvent (Serial maConnection) { // si des données arrivent par la connexion série
    String retour=maConnection.readStringUntil('\n'); // lit la donnée jusqu'à la fin de ligne
    if (retour != null) { //si le retour n'est pas vide
        retour = trim(retour); // enlever les espaces
        println(retour);

        int[] voie = int(split(retour, ","));
        //println(voie[0]);
        tension2 = int(voie[0]); // converti le texte en nombre entier
       // tension2 = int(voie[1]); // converti le texte en nombre entier
    }
    //détermination du X actuel
    int oldx=x;
    x=(millis()%fenetreTemps)*width/fenetreTemps;
    if (oldx>x) {
        //reprise au debut de l'écran
        oldx=0;
        background(255); //fond d'écran blanc
    }
    //determination de la valeur de Y
  int oldy=y;
    y=int(map(tension2, 0, 1023, 200, 100)); // mise à l'échelle de la tension pour entrer dans l'écran
    line(oldx, oldy, x, y); // dessine le trait
}

========

j'attends vos conseils

merci

Edit de Jean-François : merci d'utiliser les balises pour le code

Bonjour,

Tu nous donnes le code processing, ok, mais où est le code arduino ?
On as que la moitié des ressources nécessaire à un diagnostic du problème :wink:

Manifestement il a un problème coté arduino lors de l'envoi.

Bonjour

Avant d'incriminer la partie Processing, mets toi en terminal sur l'Arduino et regarde tes premières trames émises !

Cordialement