Salve, innanzitutto voglio premettere che questa è la mia prima esperienza con Arduino.
Sto cercando di collegare un sensore di temperatura LM35, un sensore di livello acqua Tenflyer acquistato su Amazon. Ho eseguito il cablaggio seguendo degli schemi online ed ho configurato come da sketch proposti. Il problema è che gli sketch separati funzionano correttamente ma se li unisco, i valori della temperatura riportata sul display 1602 continua a cambiare.
Vi allego i seguenti sketch:
1 Sensore acqua 2.0 contiene il file funzionante del sensore di livello acqua
2 SensoreTemperatura contiene il file funzionante del sensore di temperatura
3 Definity_serra contiene i 2 sketch messi in una configurazione unica NON FUNZIONANTE.
Buonasera,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione tutto il su citato REGOLAMENTO ... Grazie.
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto.
Mi scuso per non aver rispettato il regolamento. Ho provveduto a presentarmi ma adesso vorrei sapere se il mio primo Post è ancora valido o ne devo riformulare uno nuovo.
Grazie
per me è valido
spesso si consiglia, quando come nel tuo caso si cambia il pin analogico, di eseguire una lettura a vuoto ad ogni cambio ti pin
tradotto in italiano: raddoppia le righe di lettura degli analogici, e magari tra una e l'altra metti un piccolo ritardo (io voto 3 ms, magari qualcuno più bravo di me poi ci dice se serve veramente)
non ti garantisco il risultato, ma mi sembra l'unica cosa (e mi suona anche strana, dato che un LM35 non dovrebbe avere impedenza d'usita tanto alta da essere influenzato, ma chissa' mai)
se non vai a posto così vediamo di guardarci dentro meglio al problema
Standardoil:
non ti garantisco il risultato, ma mi sembra l'unica cosa (e mi suona anche strana, dato che un LM35 non dovrebbe avere impedenza d'usita tanto alta da essere influenzato, ma chissa' mai)
E invece no, pare sia un problema dell'Atmega328, proprio Guglielmo lo aveva detto da qualche parte.
Ogni tanto capita se si leggono due o più canali analogici di seguito. Ma non capita sempre.
Se non ricordo male.
zoomx:
E invece no, pare sia un problema dell'Atmega328, proprio Guglielmo lo aveva detto da qualche parte.
Frena, non è un problema del ARmega328P, ci mancherebbe, il problema è che se ciò che colleghi ha impedenza superiore ai 10KΩ, ci sono problemi con il tempo di carica del condensatore di S/H del convertitore ADC.
Un modo per aggirare l'ostacolo è o l'aggiunta di un piccolo condensatore sull'ingresso analogico o eseguire un paio di letture scartando la prima ... ma, ripeto, è solo un modo per aggirare l'ostacolo, le specifiche vogliono che ciò che si collega in ingresso abbia impedenza <= 10KΩ
In ogni caso, con sensori di temperatura, è sempre bene eseguire più letture e fare la media dei valori letti (esempio: faccio 5 letture a distanza di 1 secondo, le sommo e divido per 5 così da avere un valor medio sui 5 secondi).
Beh. Io ho alcuni ds18
Come sonde ambientali, se evito di andare a masturbarli si regolano in fretta e poi sono discretamente stabili
Lm35 non ne uso, e non ricordo bene
Ma ricordo che erano belli stabili
Tutto dipende da cosa intende lo OP per cambiare di continuo: gradi, decimi centesimi?
Quello dice solo che data una certa temperatura luscita può avere un certo errore
Non che questa cambi di continuo
La linearità rimarrebbe uguale anche se filtrassi pesantemente, il valore sarebbe stabile, ma pur sempre erroneo entro 0,25
Standardoil:
Quello dice solo che data una certa temperatura luscita può avere un certo errore ...
Non si direbbe, parliamo della "linearità" della misura ... quello dice ho 25° e, ad ogni lettura, posso avere fino a 24.75° come 25.25°, quella che citi tu si chiama "accuratezza" e per il LM35 è mediamente +/- 0.8 (così chiama le due cose il datasheet ... io non sonno molto d'accordo sul termine "linearità", ma loro usano tale termine).
Accuracy is defined as the error between the output voltage and 10 mv/°C times the case temperature of the device, at specified conditions of voltage, current, and temperature (expressed in °C).
Non-linearity is defined as the deviation of the output-voltage-versus-temperature curve from the best-fit straight line, over the rated temperature range of the device.
Leggi il datasheet ... da due valori ben precisi per l'una e per l'altra cosa ... concordo che NON è affatto chiaro ... :
Viene dato un valore per l'"accuratezza" (e questo è piuttosto chiaro) e viene dato un altro valore per la "linearità" (è questo è ambiguo ed in contrasto con quanto danno per l'accuratezza) ...
... o quel oggetto ha un possibile scostamento COSTANTE del valore letto, rispetto al valore reale e quindi la sua "accuratezza" è X o non ce l'ha, ed è funzione della temperatura, e allora non capisco cosa danno a fare quei due valori ... :
Però mancherebbe allora il parametro che da l'errore di misura ... insomma, io mi sarei aspettato DUE parametri:
accuratezza
precisione
... e, mentre trovo il primo, NON trovo il secondo e vedo usato il termine "linearità" :
In genere, se non ci sono interferenze in giro, una misura dovrebbe risultare tendenzialmente stabile in un breve lasso di tempo, non dovrebbe oscillare all'impazzata tra gli estremi della tolleranza. Se lo fa, dipende da altri fattori o da disturbi di qualche tipo.
accuratezza: differenza tra il valore vero e quallo misurato (in punti di misura specificati)
linearità: tracciata la curva che indica il valore misurato rispetto a quello vero, tale curva si trova entro due rette parallele tra loro distanti 2 volte la linearità (mezzo grado in questo caso) , questo da indicazioni su quanto è "diritta" la curva, non su quanto è "giusta" la misura, l'errore probabilmente sarà l'accuratezza al punto di riferimento piu' la linearità della curva (serve per sapere se posso interpolare od estrapolare i valori)
Ripetibilità: differenza tra letture della stessa grandezza
il problema dello OP sembra più di ripetibilità, che non è indicata nel DS
ma in realtà nemmeno, semmai di deriva dello strumento, ma nel breve periodo? ci credo poco
comunque lo lm35 in to92 ha una costante di tempo trmica di circa 15, va a regime in poche costanti di tempo, diciamo 4 ovvero 60 secondi? dopo in temperatura costante non deve più cambiare l'uscita
ha un'impedenza di uscita dell'ordine del decimo di ohm per correnti del mA
non capisco da dove arrivi il problema dello OP
Correzione
impedenza di uscita dell'ordine dello ohm, non del decimo
ma poco cambia per noi........
anche perchè ha una tensione di rumore bassissima e un tempo di messa regime trascurabile (20 microsecondi..)
Scusatemi ma se volessi provare con la soluzione consigliata da Gpb01 (che mi sembra più semplice) che tipo di condensatore dovrei usare ed eventualmente dovrei installarlo su tutte e due i pin analogici? :o