Lettura stringa con protocollo MNEA

Buonasera a tutti,
La mia esperienza con arduino e abbastanza di base, anche se per una applicazione sportiva mi piacerebbe realizzare un indicatore di velocità a GPS.
Ho trovato nella rete un progetto di un orologio con data a GPS ed ho modificato il codice in modo che venga letta la posizione settima (speed) della stringa NMEA invece della posizione 9 della data.
Purtroppo mi trovo nei guai perche il valore della velocita varia il numero di caratteri da 4 (Es 9.50 Knots)
a 5 (Es 10.50 Knots) ed io ho dato l’istruzione:

// Check that SPEED is well formed
if (get_size(7) != 4) {
return 0;
}

In pratica vai alla posizione 7 e prendi il dato di 4 caratteri, e, il sistema funziona benissimo fino a 9,99 nodi e poi accelerando si blocca perche lui cerca sempre 4 cifre ed in realta ne trova 5.
Non sono a conoscenza se può essere possibilefargli cercare un valore variabile (da 4 a 5) nella posizone 7 della stringa.
Spero di essermi spiegato bene ed ovviamente la mia pratica di programmazione come già scritto è molto di base quindi confido in un aiuto esterno e per questo vi ringrazio anticipatamente.
Allego lo skecth per semplicita di lettura

Franco

VELOCITA_NODI.ino (2.56 KB)

Il protocollo è composto da frasi che hanno campi separati da virgole, quindi prima di tutto bisogna separare i campi, la lunghezza di caratteri di ogni campo e la posizione del punto nel campo diventa ininfluente se si usa la funzione atof

http://arduiniana.org/libraries/tinygpsplus/

Ringrazio Icio e Bigjohnson per le risposte.
Ho trovato utilissima la libreria di Arduiniana, con una semplicita estrema si estraggono i dati dal gps
ri ricava posizione , altezza,orario, direzione, velocità dalla stringa $GPRMC.
Ottimo grazie!!

Franco