ricerca numeri in file txt su SD

Buonasera,
sto lavorando su uno sketch che salvi dei numeri in colonna sulla scheda SD; numeri che provengono dalla porta analogica (sensori vari).
Sto realizzando una specie di datalog, però non voglio che ad ogni ciclo del loop venga scritto il numero corrente, bensì venga scritto il numero corrente, solo se non è mai stato già scritto da quando è partita l'acquisizione.

Esempio; sto misurando la temperatura e ho tarato opportunamente il valore dell'adc in modo tale da far uscire i gradi celsius; la temperatura è sempre costante perché ho messo la termocoppia nel ghiaccio fondente ad 1 atmosfera e sono a 0°C spaccati. Arduino nel loop fa una cosa del genere:

loop
analogRead temperatura
cerca nella prima colonna del file che sto loggando nella sd, il valore 0 gradi
if (esiste)
ricomincia il loop dall'inizio
else
scrivi il valore in fondo alla lista

Il mio problema risiede nel fatto che non sono in grado di effettuare il controllo che ho sottolineato, cioè a parte usare il comando read, io ho bisogno che arduino riconosca che nel file ci sono dei numeri in colonna e non soltanto dei byte senza senso in fila. Se nel file ho:

0
12
23
34

quando Arduino legge questi numeri, dovrebbe pensare "0 c'è già e passo avanti". Se utilizzo il comando read però, lui prende 0, poi /r/n, poi 1, poi 2, ecc.

A questo punto ho pensato di utilizzare un array dinamico: ad ogni ciclo incrementa di un elemento, con un ciclo for poi confronto elemento per elemento il numero che leggo dal sensore con l'intero array che ho creato dall'inizio dell'acquisizione; l'unico problema è che probabilmente al 50° ciclo, arduino terminerà la propria ram e si pianterà! L'unica alternativa dunque è la sd, ma non so come istruire Arduino a cercare proprio il numero di cui ha bisogno!

qualche idea?
grazie mille

Quanti valori di temperatura hai?

Di base a te serve per ogni valore un booleano, vero/falso 1 o 0, giusto?
Se i valori vanno da 0 a 100 gradi puoi allora fare un vettore di 101 elementi (da 0 a 100 come indice)
Dentro al vettore per ogni cella metti 1 se quel valore l'hai già 0 se non l'hai letto.
Se il vettore è di boolean, forse non è molto grande. Puoi provare e con freeRam() vedere se occupa meno.
Oppure puoi sfruttare i bit. Se ogni elemento del vettore è un "unsigned int" allora ospita 16 bit
Usando la bitSet() e bitRead() puoi accedere ai singoli bit.
La cella 0 del vettore sarà i gradi da 0 a 15, la seconda cella i gradi da 16 a 31, etc.
Così limiti l'array (in pratica è come se fosse 8 volte più piccolo)

capisco, si è una buona idea, il problema è che poi ho una bassa risoluzione e non è l’ideale, per fortuna però mi sono accorto adesso adesso che grazie a don excel e il suo amuleto magico “dispersione xy”, in automatico mi scarta i duplicati!!

in sostanza devo acquisire una coppia di numeri, rappresentativi di uno spazio bidimensionale, ora se acquisisco sempre la stessa coppia, non ha senso plottarla ogni volta, però il mio caro excel fa il lavoro sporco per me! diciamo che ho risolto, ma sarebbe stato più carino e accademico fare qualcosa di intelligente con padre arduino!

grazie mille comunque!