Pages: [1]   Go Down
Author Topic: Interi tra Arduino e Processing  (Read 528 times)
0 Members and 1 Guest are viewing this topic.
Pavia
Offline Offline
Full Member
***
Karma: 0
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se io chiedo a processing:

Code:
arduino.write(2789);

Com'è che me lo manda il numero?..La comunicazione avviene sempre come Byte? Mi divide il numero in 4 caratteri?

E poi..

Come faccio a ricomporre il numero con Arduino?  smiley
Logged

"Sono convinto che l'informatica abbia molto in comune con la fisica...Dentro i confini del computer, sei tu il creatore. Controlli – almeno

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 312
Posts: 21601
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Non uso processing ma se spedisce su seriale, scomporrà il dato in byte. So per certo comunque che Arduino riceve su seriale solo byte per cui devi ricomporre il dato in arrivo.
Se i numeri che mandi non sono più grandi di 65535 (16 bit) potresti spedire nel formato byte alto/byte basso così la ricomposizione avverrà molto più semplicemente
Logged


Pavia
Offline Offline
Full Member
***
Karma: 0
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No ragazzi, non ce la posso fare, le ho provate tutte..ma davvero non riesco..  smiley-roll

RIuscite appena avete tempo a farmi un esempio di

"Invio di un INT da Processing ad Arduino"

e viceversa.

L'int deve essere più grande di quanto può contenere un Byte. Grazier per l'aiuto.
Logged

"Sono convinto che l'informatica abbia molto in comune con la fisica...Dentro i confini del computer, sei tu il creatore. Controlli – almeno

Pavia
Offline Offline
Full Member
***
Karma: 0
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No, ragazzi tranquilli!..Ce l'ho fatta  smiley, 4 ore per imparare ma ne è valsa la pena  smiley-razz

Ora posso finire mio progettino velocemente così poi posso postare tutto  smiley-grin


PS: per trasferire un Int composto da due byte ho usato questo metodo:

Code:
Serial.print((byte)val>>8);
Serial.print((byte)val);

e per ricomporlo:

Code:
int val = (Serial.read()<<8) | Serial.read();

Non è male vero?
« Last Edit: June 02, 2012, 02:52:44 am by legolas93 » Logged

"Sono convinto che l'informatica abbia molto in comune con la fisica...Dentro i confini del computer, sei tu il creatore. Controlli – almeno

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 312
Posts: 21601
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

E' esattamente come ti avevo detto, bravo  smiley-wink
Logged


Pages: [1]   Go Up
Jump to: