Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#16 2016-11-15 22:19:37 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



toujour que des zero dans processing. Dans l'arduino j'ai bien les numéro qui s'affiche comme ça :

374,355,333,332,-28624
301,299,303,311,-31214
269,264,275,289,31601
250,248,260,275,28752
252,254,261,273,26162
269,279,279,285,23572

Hors ligne

 

#17 2016-11-16 02:47:09 Re : a l'aide je vous en suplie

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: a l'aide je vous en suplie



le problème est que je n'ai pas mon arduino pour tester ce qui ne va pas

met un println(myPortString); dans ton draw et dit moi si tu a quelque chose dans ta console

Hors ligne

 

#18 2016-11-16 17:42:33 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



avec mon println(myPortString); il me marque sa :
null
0
0
0
0
0
0

Hors ligne

 

#19 2016-11-16 18:10:16 Re : a l'aide je vous en suplie

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: a l'aide je vous en suplie



essaye ca et dit moi si tu vois quelque chose avec le println(myPortString);

void serialEvent(Serial myPort) {        //on cree une fonction qui elle est toujours en ecoute
  
 while(myPort.available() > 0) {           // tant que le port contient 1 byte et +
    myPortString = myPort.readStringUntil('\n');  //store ce que le port contient dans une variable string
 }
 if(myPortString != null) {       //si la variable myPortString nest pas egal a 0
   String[] values = split(myPortString.trim(), ',');    //separe les valaur 
   sensorData[0] = int(values[1]);                 //store les donner de tes capteur numero 1
   sensorData[1] = int(values[2]);  //numero 2
   sensorData[2] = int(values[3]);
   sensorData[3] = int(values[4]);   
   sensorData[4] = int(values[5]);
   
}
}

sinon essaye celui la

void serialEvent(Serial myPort) {        //on cree une fonction qui elle est toujours en ecoute
  
   myPortString = myPort.readStringUntil('\n');  //store ce que le port contient dans une variable string
 
 if(myPortString != null) {       //si la variable myPortString nest pas egal a 0
   String[] values = split(myPortString.trim(), ',');    //separe les valaur 
   sensorData[0] = int(values[1]);                 //store les donner de tes capteur numero 1
   sensorData[1] = int(values[2]);  //numero 2
   sensorData[2] = int(values[3]);
   sensorData[3] = int(values[4]);   
   sensorData[4] = int(values[5]);
   
}
}

tien moi au courant

Hors ligne

 

#20 2016-11-16 18:25:32 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



toujours pareil meme valeur.

Hors ligne

 

#21 2016-11-16 18:55:53 Re : a l'aide je vous en suplie

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: a l'aide je vous en suplie



j'ai l'impression que tu te connecte pas a ton Arduino mais a un autre module ex: souris ou clavier sans fil ou autre

ouvre ton logiciel Arduino et clique sur l'onglet en haut outils puis jusqu’à la ligne port série regarde quel com il est écrit pour moi c'est COM 4

ensuite ouvre ton sketch processing et a cette ligne remplace le [0] (juste le 0 pas les accolades) par le chiffre écrit dans le port serie de arduino
myPort = new Serial(this, Serial.list()[0], 9600);

donc pour moi comme c'est le COM4 ce sera donc
myPort = new Serial(this, Serial.list()[4], 9600);

et si ca te donne une erreur enleve 1 a ton chiffre de port COM

si je ne suis pas asser claire je trouverais une autre façon de te l'expliquer

Hors ligne

 

#22 2016-11-17 00:09:03 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



j'ai essayer ce que tu ma dit avec mon port com 23 cependant quand je met 23 entre les acolade comme ceci il me met un message d'erreur " Arrayindexoutofbounds exeption23 j'ai aussi essayer avec 22 mais sans succes :

myPort = new Serial(this, Serial.list()[23], 9600);

Je pense que tu te rapproche de la solution tu a toucher quel'que chose la !


ps dans outil de mon logiciel arduino j'ai un autre port COM1 qui lui ne fonctionne pas.

Hors ligne

 

#23 2016-11-17 00:56:32 Re : a l'aide je vous en suplie

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: a l'aide je vous en suplie



ok alors dans ton setup commente // toute les ligne par apport au myPort
Et ecrit println(Serial.list()); dans le setup

Donne moi le resultat

Dernière modification par imdidi (2016-11-17 00:57:41)

Hors ligne

 

#24 2016-11-17 02:20:49 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



tu touche vraiment le but imdidi voila ce que cela me marque dans le moniteur serie de processing (prend en compte que je n'ai aucun fil de brancher sur mon arduino pour l'instant) !!! :
339
272
-28624
360
339
272
-28624
360
339
272
-28624
360
339
272
-28624
360
339
272
-28624
360
339
272
-28624
360
339

Dernière modification par vasalva (2016-11-17 02:21:18)

Hors ligne

 

#25 2016-11-17 03:42:24 Re : a l'aide je vous en suplie

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: a l'aide je vous en suplie



Ok ton setup remet le comme il etait. dans ton draw met seulement le println(myPortString); et change le numero 0 entre accolade augmente le jusqua temps quil te fasse une erreur et regarde le moniteur a chaque fois que tu change le chiffre quand il va ecrire des numero cest bon et branche ton arduino

void setup() {
myPort = new Serial(this, Serial.list()[0], 9600); //le 0 change le ici
myPort.bufferUntil(10);
myPort.clear();  // on efface ce qui pourrait avoir sur le port serie
}

Hors ligne

 

#26 2016-11-17 13:22:07 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



sa a l'air de fonctioner, cependant j'ai l'impression que les valeurs ne son mesurer qu'une seul fois, peut etre parce que il n'y a pas de void loop dans mon sketch processing ? :

import processing.serial.*; //importe la librarie pour utiliser le port serie
Serial myPort;                  //on cree la classe myPort
int[] sensorData = new int[4]; //variable tableau chiffre entier
String myPortString;         // variable phrase

void setup() {
 myPort = new Serial(this, Serial.list()[1], 9600);//on declare sur quel port le arduino est brancher ici le port 0 et sa vitesse
 myPort.bufferUntil(10); 
 myPort.clear();  // on efface ce qui pourrait avoir sur le port serie

}

void draw(){
  background(0);
println(sensorData[0]);
text(sensorData[0],20,50);
color(255);
println(sensorData[1]);
println(sensorData[2]);
println(sensorData[3]);
//println(myPortString);

}
void serialEvent(Serial myPort) {        //on cree une fonction qui elle est toujours en ecoute
  
   myPortString = myPort.readStringUntil('\n');  //store ce que le port contient dans une variable string
 
 if(myPortString != null) {       //si la variable myPortString nest pas egal a 0
   String[] values = split(myPortString.trim(), ',');    //separe les valaur 
   sensorData[0] = int(values[1]);                 //store les donner de tes capteur numero 1
   sensorData[1] = int(values[2]);  //numero 2
   sensorData[2] = int(values[3]);
   sensorData[3] = int(values[4]);   
   sensorData[4] = int(values[5]);
   
}
}

Hors ligne

 

#27 2016-11-17 16:54:01 Re : a l'aide je vous en suplie

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: a l'aide je vous en suplie



ok alors ré-essaye avec ce serialEvent et vois ce que ca donne mais si tes capteurs ne varie pas tu ne verra pas de variation non plus

void serialEvent(Serial myPort) {        //on cree une fonction qui elle est toujours en ecoute
  
 while(myPort.available() > 0) {           // tant que le port contient 1 byte et +
    myPortString = myPort.readStringUntil('\n');  //store ce que le port contient dans une variable string
 }
 if(myPortString != null) {       //si la variable myPortString nest pas egal a 0
   String[] values = split(myPortString.trim(), ',');    //separe les valaur 
   sensorData[0] = int(values[1]);                 //store les donner de tes capteur numero 1
   sensorData[1] = int(values[2]);  //numero 2
   sensorData[2] = int(values[3]);
   sensorData[3] = int(values[4]);   
   sensorData[4] = int(values[5]);
   
}
}

Hors ligne

 

#28 2016-11-17 19:56:21 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



pareil les valeur ne change pas. Mon capteur de température brancher sur le A0 de mon arduino est théoriquement obliger de varier quand je mais mes doigts dessus.

Hors ligne

 

#29 2016-11-17 20:23:14 Re : a l'aide je vous en suplie

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: a l'aide je vous en suplie



ok on va essayer quelque chose d'autre du coter du Arduino fait ça et vérifie le moniteur série si il varie
si oui va du coter processing et vérifie si ça change

void loop() {
  
       sensorData[0] = analogRead(0);
       sensorData[1] = analogRead(1);
       sensorData[2] = analogRead(2);
       sensorData[3] = analogRead(3);
       sensorData[4] = analogRead(4);

  

  serial.print(sensorData[0]);
  serial.print(",");
  serial.print(sensorData[1];
  serial.print(",");
  serial.print(sensorData[2]);
  serial.print(",");
  serial.print(sensorData[3]);
  serial.print(",");
  serial.println(sensorData[4]);
  delay(100);
}

Dernière modification par imdidi (2016-11-17 20:26:11)

Hors ligne

 

#30 2016-11-18 00:21:03 Re : a l'aide je vous en suplie

vasalva
membre
Date d'inscription: 2016-11-14
Messages: 27

Re: a l'aide je vous en suplie



Toujour pareil du cote de processing. Je pense que cela viens du sketch de processing ( comme-ci il n'écoutait les valeur qu'une seul fois et les inscrivaient ensuite en boucle sans réécouter les valeurs.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024