Tu as combien de sensor en realiter juste 1 ? remplace ca a ton serialevent
int inputs[] = int(split(myPortString.trim(), ','));
sensorData[0] = inputs[0]);
sensorData[1] = inputs[1]); //numero 2
sensorData[2] = inputs2]);
sensorData[3] = inputs[3]);
sensorData[4] = inputs[4]);
Hors ligne
j'ai qu'un seul sensor mais meme celui ci- ne bougep as dans processing : par contre j'ai essayer de changer cette ligne :
while(myPort.available() > 0) { // tant que le port contient 1 byte et +
modifier en : while(myPort.available() > 30000) { // tant que le port contient 1 byte et +
et la il ne m'affiche plus sa :
184 25970 158 168 184 25970 158 168 184 25970 158 168 184 25970 158
cela voudrait peut etre dire que des qu'il vois une valeur supérieur a zéro il arrête d'écouter ce qui arrive ????
dit moi si je m'exprime mal.
Hors ligne
Va falloire sassurer du port sur lequel ton arduino est on va elliminer cette incertitude une bonne fois pour toute donc si tu a windows dans le gestionaire de peripherique sous port com et lpt verifie ton arduino est sur quel port il faut quil sois brancher evidament
Hors ligne
mon port COM pour mon arduino est "COM23". Cependant quand je met 23 dans la ligne ci-dessous sa me met une erreur je suis obliger de mettre 1. De plus dans le gestionnaire de périphérique, regarde ce qu'il m'affiche y a un autre port com1 sa fait une arborescence comme ceci :
- Port (COM et LPT)
-Arduino UNO (COM23)
-port de comunication (COM1).
myPort = new Serial(this, Serial.list()[1], 9600);//on declare sur quel port le arduino est brancher ici le port 0 et sa vitesse
Je te remercie franchement pour toute l'aide que tu m'apporte tu me fait bien progresser.
Hors ligne
met ton arduino dans un autre port usb et regarde si il est encore en COM23
Hors ligne
oui il est toujours en COM23
Hors ligne
myPort = new Serial(this, Serial.list()[1], 9600);
as tu essayer de continuer ou tu tes juste arreter a 1 ? essaye 2 3 etc
Hors ligne
Non. Jessaye sa demain matin et je te tiens au courant
Hors ligne
salut Imidi, j'ai essayer de continuer les nombre dans myPort = new Serial(this, Serial.list()[1], 9600); mais sans succes.
Cependant j'ai un gros doute sur cette ligne :
while(myPort.available() > 0) { // tant que le port contient 1 byte et +
Pour moi des que les valeurs sont supérieur a 0 il arrête de récupérer des infos.
qu'est ce que tu en pense ?
Hors ligne
La fonction serial.avalaible() renvoit le nombre be bits quil y a sur le port
La phrase se lis donc ainsi
Si (serial.available() est plus grand que 0) Ca veut dire qui contient de linfo
Alors store dans la variable le contenue du port jusqua temps que tu arrive au saut
myPortString = serialReaduntil('/n');
Hors ligne
Pourtant quand je met sa " while(myPort.available() > 0) { " voila ce qu'il m'affiche :
180
25977
154
165
180
25977
154
165
180
Par contre quand je met sa " while(myPort.available() > 30000) { " la il ne m'affiche que des 0:
0
0
0
0
0
0
0
0
0
0
0
0
0
j'ai l'impression que le code ne fait pas une boucle.
Hors ligne
cest la preuve que le code fonctionne comme serial available est plus petit que 30000 il ne rentre donc pas dans le if et le serialread ne ce fais pas
Alors dans le fond le processing na pas derreur confirme moi les numero dans le serial monitor de arduino
Dernière modification par imdidi (2016-11-20 05:55:24)
Hors ligne
dans le monitor de arduino voila mes valeur :
145,156,166,181,25978
146,154,163,175,26216
146,156,164,176,25958
146,156,166,178,25961
146,156,166,178,26220
146,156,165,177,25958
et la tu vois se sont les meme type de valeur que dans processing sauf que la sa change et pas dans processing.
Pour moi processing a bien accès au valeur mais ne lis qu'une seul ligne (la première) et ensuite il s’arrête la en répètent a l'infini la même valeur.
Hors ligne
Commente toute ton serialevent et met ca dans ton draw
while(myPort.available() > 0) {
myPortString = myPort.readStringUntil('\n');
}
if(myPortString != null) {
int inputs[] = int(split(myPortString.trim(), ','));
sensorData[0] = inputs[0]);
sensorData[1] = inputs[1]); //numero 2
sensorData[2] = inputs2]);
sensorData[3] = inputs[3]);
sensorData[4] = inputs[4]);}
Hors ligne
non de DZEUZ sa marche marty !!!!!!!
Une derniere question, pourquoi est-ce que le port A5 affiche t'il des valeur a 5 chiffre du genre 25652 ?? Normalement les valeur sont comprises entre 0 et 1023 non ?
Hors ligne