In linea di principio è sufficiente stabilire un protocollo di comunicazione arduino => vb (e viceversa, se si vuole anche comandare l'arduino dal vb).
Gli elementi principali sono:
- come identifico le diverse variabili da trasmettere
- come trasmetto i valori
- come identifico la fine di una trasmissione
Supponiamo di avere due letture analogiche che vogliamo trasmettere al PC.
Una prima idea potrebbe essere usare una lettera per ogni sensore. A e B, ad esempio.
I valori li trasmetto sottoforma di stringa.
Il terminatore di trasmissione è la coppia CR+LF (vedi
http://arduino.cc/en/Serial/Println ).
Lato VB accumulo in un buffer (una stringa) i dati seriali fino a quando non rilevo la coppia CR+LF. A quel punto prendo il primo carattere per capire di che sensore stiamo parlando, e converto in numero il resto della stringa. A questo punto posso fare ciò che voglio: visualizzarlo in un textbox, graficarlo, ecc.
Dopo averlo elaborato, resetto il buffer (cioè "svuoto" la stringa, ad esempio asegnandole "") per essere pronto per un nuovo ciclo di ricezione.
In questo esempio Arduino manda i valori dei sensori separatamente. Si può facilmente immaginare una convenzione diversa per inviare in un'unica println() il valore di più sensori. Cambia soltanto la complessità del codice di "parsing" lato VB.