Go Down

Topic: [RESOLU] récupérer plusieurs valeurs processing vers arduino : serial.read(); (Read 7737 times) previous topic - next topic

Jean-François

Imagine que ta liaison série soit un tuyaux, tu envoies des billes depuis un bout... les billes ressortent une à une de l'autre coté.
Pour récupérer ces billes l'Arduino à un tapis roulant avec des gobelets, chaque gobelets ne peux avoir qu'une bille à la fois (Serial.read()).
Par contre tu peux ensuite vider les gobelets dans une bouteille (string)....

Et tu peux faire ainsi :

Code: [Select]
r += Serial.read()-48;

C'est pareille que :

Code: [Select]
r=r + Serial.read()-48;

chesnel

si j'envoie par exemple 145 depuis processing, arduino va les recevoir en miroir
Donc en premier le 1*100 = 100
Le deuxième 4*10 = 40
troisième

100+40+5 = 145 ! et la valeur est reconstitué :)

ahh super ! merci à toi :)

Jean-François


teonocalt

Bonjour,

je me suis un peu perdu dans ce post, et je n'ai pas eu le "déclic" de compréhension :

j'ai deux capteurs, le premier capte 25 et le second 12 (c'est un exemple)
j'envoie 2 valeurs avec une entête pour les différencier depuis arduino, pas de soucis ...

A25
B12

je récupère ça dans processing : (oui tout va bien)

A25
B12

ce que je ne sais pas faire c'est virer l'entête pour réaffecter les valeurs a chacune de mes variables

Variable1 = 25
Variable2 = 12

en pseudo code ça donnerais ça :

Code: [Select]

{
    //on lit le premier caractère
    char choseLue = Serial.read();
 
    if(choseLue == A) //si c'est A
    {
        Variable1 = PAS le premier caractere mais les autres et ce n'est plus une chaine mais un INT ;
    }

    if(choseLue == B) //si c'est B
    {
        Variable2 = PAS le premier caractere mais les autres et ce n'est plus une chaine mais un INT ;
    }
   
}




Si vous pouvez m'éclairer un peu ça serait magique.
Merci



Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy