memoria sd

ciao a tutti
sto tentando di memorizzare dati in un file txt in una sd
per il circuito sono riuscito seguendo alcuni in rete.
riesco a inizializzare la sd e ricevere le sue info ma non so come fare per creare un file txt e scriverci dentro.

grazie della vostra attenzione
ciao

non è semplice...

leggere e scrivere blocchi di dati nella SD è relativamente facile.
formattarla in FAT (il formato di MSDOS) e creare un file richiede un bel po di codice.

di solito quelle librerie occupano parecchio spazio sull'arduino..

ti consiglio di provare Arduino Nut: u-Fat filesystem

non puoi creare files nuovi ma puoi aggiornare quello esistenti.

prevedo che rilasceremo una libreria ufficiale quando abbiamo testato la prossima versione dello shield ethernet per arduino.

m

ti ringrazio,
vedrò cosa riesco a fare.

cosa intendi quando parli della scheda ethernet implementerà il lettore sd?

Lo shield ethernet ha un connettore SD al momento solo che non c'è abbastanza spazio per farci stare il TCP e la libreria FAT nello stesso programma. (14k non sono abbastanza)

nella prossima versione prevedo che il connettore sarà connesso in modo da risparmiare piedini e codice. inoltre dovrebbe essere dispobibile il processore 328 che hai il doppio di flash

m

io ho comprato l'ethernet board per arduino ... mi sapresti indicare qlk bel tutorial o esempi con relativi schemi per metterci la sd e salvare e recuperare valori? devo salvare il valore di una variabile sull'sd e poi recuperare tale valore quando riaccendo l'arduino e risalvare la variabile modificata. HELP ME PLEASE

Questo me lo stavo domandando da un po' di tempo, come mai se non c'e' abbastanza spazio per tutto il software avete seguito una scelta progettuale in tal senso? Mi sembra di capire che prevedi una seconda versione dell'ethernet shield con le funzionalita' previste per questo funzionanti, e allora perche' continuare a produrre quello attuale con la possibilità dell' sd, se non può funzionare? E' in previsione di un cambiamento con l'atmega 328?
Grazie! Federico

@jordy
usa la eeprom del processore per salvare valori da recuperare all'accensione. Libreria EEPROM

@federico
Arduino è il tipico progetto OSS dove uno scrive del codice e lo pubblica anche se non è ottimizzato, sapendo che col tempo viene migliorato. La prima versione di Arduino usava quasi 4k (su 7 disponibili) per far lampeggiare un led.. Ad ogni release di arduino anche con l'aiuto di alcuni utenti l'abbiamo ridotto a circa 1k (nel frattempo abbiamo 14k di spazio) tutto questo aggiugendo funzioni alla board e mantenendo piu o meno intatto il prezzo.
Quello attuale era già stato montato quando i test conclusivi hanno determinato che un semplice programma + lettore di SD arrivava al limite. Già adesso sulla mailing list "developers" viaggiano delle versioni della libreria Ethernet che occupano 2k in meno della prima versione... con un po di limature tra qualche mese ci sarà spazio per tutto.

L'SD funziona ma semplicemente "non è supportato" i.e. è li... se lo sai far funzionare bene altrimenti aspetta qualche settimana e arriverà del codice con qualche buon tutorial.

Nel prossimo futuro ci sarà un'arduino con l'Atmega 328. Il supporto è già nel sorgente che sta nell'SVN.

m

@Banzi
io avevo pensato di comprare una eeprom esterna perchè vorrei che funzionasse per molto tempo e ho letto sul sito che la eeprom ha una vita limitata a 100000 cicli di cancellazione/scrittura quindi tanto vale preparare già i collegamente per una esterna in modo che quando è da buttare basta solo sostituirla con una nuova. Che ne pensi?

Grazie per la spiegazione, non sapevo di tutto questo!

non puoi creare files nuovi ma puoi aggiornare quello esistenti

sono un principiante, per favore se sbaglio fermatemi prima che spenda altri soldi: è possibile scaricare file grandi (MB) da internet e salvarli usando l'arduino + ethernet shield?
Dato che non posso salvare sulla scheda SD, sarà possibile collegando anche questa unità? http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=53&title=VDIP1

Scusate se mi intrometto, avete idea dove posso trovare uno zoccolo per schede SD?? (a prezzi umani! :wink: )