Pages: 1 [2]   Go Down
Author Topic: Arduino e GUI Processing  (Read 1261 times)
0 Members and 1 Guest are viewing this topic.
ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ecco lo zip con codice e font.

A questo indirizzo c'e' un buon esempio di come leggere ed usare i dati da seriale con Processing usando la serialEvent.
Purtroppo in inglese e non serve a fare "esattamente" quello che vuoi tu.
Quel discorso del buffer(12) e spedire esattamente 12 char è una forzatura per veder muovere l'interfaccia.
Poi di certo scritto così il programma è una cacca. Mica puoi sapere se spedirai sempre 12 char (6 cifre+6 virgole)


* prova.zip (1.46 KB - downloaded 5 times.)
Logged

my name is IGOR, not AIGOR

Offline Offline
Full Member
***
Karma: 2
Posts: 223
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

controlla bene.Il zip contiene uno sketch diverso
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ora dovrebbe essere il file giusto.

Per far funzionare il progetto meglio, porta queste variazioni:

Nel setup:
Code:
myPort = new Serial(this, Serial.list()[0], 9600);
 myPort.clear();
 //myPort.buffer(12);
 myPort.bufferUntil('#');  // carattere #  ovvero fine trasmissione

Ora potrai spedire quanti caratteri vuoi basta che fai terminare i dati da # (oppure puoi scegliere tu)
esempio: 1,2,333,4,5,6,#

Naturalmente il programma su Arduino dovrà spedire come ultima cosa il #

* forum.zip (40.59 KB - downloaded 7 times.)
« Last Edit: March 25, 2013, 08:42:08 am by nid69ita » Logged

my name is IGOR, not AIGOR

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un'altra cosa. A te non funziona (credo) perchè nel programma Arduino NON spedisci l'ultima virgola

Code:
  ...
   Serial.print(",");
   Serial.print(reedCounter);
   Serial.print(",");
   Serial.println(currentmotstate);

Devi per forza metterla e a questo punto metti anche il #
Code:
  ...
   Serial.print(",");
   Serial.print(reedCounter);
   Serial.print(",");
   Serial.print(currentmotstate);
   Serial.print(",");
   Serial.print("#");  //fine trasmissione

P.S. forse dopo l'ultima modifica, utilizzo # invece di buffer(12), non serve più ultima virgola
Logged

my name is IGOR, not AIGOR

Offline Offline
Full Member
***
Karma: 2
Posts: 223
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Stupendo!!!Funziona.Ti ringrazio tantissimo davvero
Logged

Pages: 1 [2]   Go Up
Jump to: