Offline
Full Member
Karma: 0
Posts: 139
|
 |
« on: November 04, 2012, 07:28:16 am » |
ciao a tutti  ho creato un piccolo progetto con dei led, un rgb un termistore e una fotoresistenza in che modo posso salvare i dati della temperatura e poi scaricarli sul computer?? devo per forza usare una memory card? grazie in anticipo 
|
|
|
|
|
Logged
|
|
|
|
|
Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 4911
фон Крыса
|
 |
« Reply #1 on: November 04, 2012, 07:40:48 am » |
Puoi anche salvarli su eeprom e poi tramite seriale li leggi li importi ad esempio su excell e finita la lettura la cancelli, solo che la eeprom ha un numero di scritture cancellazioni limitate occhio.... oppure usi una EEPROM o FRAM esterna ad arduino ma la cosa si complica più che ad usare una SD
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 139
|
 |
« Reply #2 on: November 04, 2012, 08:16:46 am » |
e come farei a usare una sd? mi verrebbe a costare molto? ho sempre avuto un dubbio:quando metto una shield attaccata all'arduino uno mi usa tutti i pin concui l'attacco??
|
|
|
|
|
Logged
|
|
|
|
|
Genova
Offline
Edison Member
Karma: 14
Posts: 2446
|
 |
« Reply #3 on: November 04, 2012, 08:53:49 am » |
Non ti verrebbe a costare molto, puoi fare tu uno shield con i dovuti partitori e la SD oppure prenderlo già fatto. Se hai uno shield ethernet ancora meglio, puoi mandare i dati su "google spreadsheet" sono 5 Gb di spazio free per ogni occount google. Vedresti i dati on-line da qualsiasi pc in tempo reale con grafici ecc.
|
|
|
|
|
Logged
|
Meglio imparare dalle cose inutili piuttosto che non imparare niente. [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 139
|
 |
« Reply #4 on: November 04, 2012, 08:55:47 am » |
a me bastava semplicemente salvarli  se no creando un programma in visual basic x il computer ke riceva i valori?? so che si può fare ma nn ho idea di come farlo 
|
|
|
|
|
Logged
|
|
|
|
|
Genova
Offline
Edison Member
Karma: 14
Posts: 2446
|
 |
« Reply #5 on: November 04, 2012, 09:17:29 am » |
|
|
|
|
|
Logged
|
Meglio imparare dalle cose inutili piuttosto che non imparare niente. [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 139
|
 |
« Reply #6 on: November 04, 2012, 09:21:36 am » |
ok grazie  adesso quando avro tempo(non prima di sabato perchè parto per una gita scolasica a praga) cercherò di guardarci e di capirci qualcosa
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Online
Brattain Member
Karma: 162
Posts: 15733
+39 349 2158303
|
 |
« Reply #7 on: November 04, 2012, 02:59:32 pm » |
Dipende tutto da quanti dati devi memorizzare. L' eeprom interno al Arduino é da 1KByte. Gli EEprom esterni sono fino a un centinaio di kByte Le schedine SD sono fino a 2GByte, quelle SDHC fino a 32GByte Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 139
|
 |
« Reply #8 on: November 11, 2012, 08:52:40 am » |
@uwefed ok per ora non posso comprare la shield sd quindi penso di usare l'eproom come faccio a salvare i dati e soprattutto poi per leggerli come faccio?? quanti dati posso salvare con un kbyte? e se spengo l'arduino si cancellano? grazie mille 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16479
Don't know what I do
|
 |
« Reply #9 on: November 11, 2012, 08:58:28 am » |
@uwefed ok per ora non posso comprare la shield sd quindi penso di usare l'eproom come faccio a salvare i dati e soprattutto poi per leggerli come faccio??
Per salvarli e leggerli è facile, usi la libreria EEPROM: http://www.arduino.cc/en/Reference/EEPROMPer spedirli al computer devi avere una connessione attiva: se non puoi comprarti la Ethernet, l'alternativa è attaccare l'Arduino alla seriale e poi spedire i dati. Però poi devi scriverti un software lato PC che riceva questi dati e li salvi da qualche parte. quanti dati posso salvare con un kbyte? e se spengo l'arduino si cancellano? grazie mille  Sulla quantità dipende da cosa salvi ed in che formato. Se li salvi su memorie non volatili (Flash, Eeprom), i dati non li perdi staccando l'alimentazione.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 139
|
 |
« Reply #10 on: November 11, 2012, 09:28:34 am » |
grazie mille c'è una cosa che nn ho capito io ho una variabile chiamata temperatura in cui vengono letti gli ononimi dati io come faccio a scriverli sulla eproom? cioè sul link ke mi hai dato c'è scritto "EEPROM.write(i, i);" ma io devo solo mettere la temperatura come faccio??
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16479
Don't know what I do
|
 |
« Reply #11 on: November 11, 2012, 09:32:25 am » |
La temperatura sarà la lettura di un sensore salvata in una variabile. Devi salvare la variabile. Se la variabile è di tipo int, devi salvarla scomposta nei suoi 2 byte, byte basso e byte alto: http://arduino.cc/en/Reference/LowBytehttp://arduino.cc/en/Reference/HighByte
|
|
|
|
|
Logged
|
|
|
|
|
BG (I)
Offline
Full Member
Karma: 0
Posts: 187
Usus plura docet
|
 |
« Reply #12 on: November 12, 2012, 12:58:28 pm » |
Tempo fa ho fatto questo sketch in Processing, per salvare appunto dei valori provenienti dalla seriale di Arduino riguardanti la misurazione della temperatura, è facilmente modificabile per ogni esigenza: // Scrittura su file da Arduino import processing.serial.*; Serial mySerial; PrintWriter output;
void setup() { mySerial = new Serial( this, Serial.list()[1], 9600 ); // seleziona la porta seriale di Arduino e la velocità mySerial.bufferUntil('\n'); // Buffer seriale fino a new line output = createWriter( "dati.txt" ); // Nome file dati (lo scrive dove risiede il programma) }
void draw() { // Imposta dati con data e tempo int gi = day(); // giorno int me = month(); // mese int an = year(); // anno int se = second(); // secondi int mn = minute(); // minuti int or = hour(); // ore
if (mySerial.available() > 0 ) { String value = mySerial.readStringUntil('\n'); // legge dati da seriale fino a new line if ( value != null ) { // scrive dato tempo oppure aggiungere anche data String s = String.valueOf(or)+":"+String.valueOf(mn)+"."+String.valueOf(se)+" "; output.print( s );
output.print( value ); // scrive su file lettura da seriale da Arduino
} } }
// Esce dal programma alla pressione di qualsiasi tasto void keyPressed() { output.flush(); // Scrive i dati rimanenti su file output.close(); // Chiude il file exit(); // Esce dal programma }
|
|
|
|
|
Logged
|
|
|
|
|
|