[Risolto]Problema lettura analogRead con Termometro display TM1637 e sensor LM35

Buonasera a tutti,

Vorrei chiedervi un consiglio su questo semplice termometro che utilizza un display TM1637 a 4 digit ed un sensore di temperatura LM35.

Tutto funziona bene, tranne la lettura sul pin A0 che spesso rileva un valore sbagliato, come se ci fosse del "rumore" in ingresso. Ho provato a mettere anche una resistenza di pull-down da 10K tra il pin di uscita del rilevatore LM35 (e quindi tra il pin A0 di arduino) e il negativo, ma non è servito a nulla.

la cosa buffa è che anche mettendo direttamente il pin A0 al polo negativo, ogni tanto viene rilevato uno "spike" spurio.

Allego lo sketch completo, anche nel caso qualcuno voglia cimentarsi con questo simpatico display che richiede solo due PIN per funzionare (DIO e CLK).

#include "TM1637.h"
 
//{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
//0~9,A,b,C,d,E,F,"-"," ",degree,r,h

#define CLK 9 //Pins for TM1637       
#define DIO 8

TM1637 tm1637(CLK,DIO);


void setup()
{
  tm1637.init();
  tm1637.set(2); 
  //BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;


  //Serial.begin(9600);
  analogReference(INTERNAL); 
}

void loop ()                             
{
  int aRead = 0;
  float ref = 1.1;


  
   aRead = analogRead(A0);
   // Serial.print("Analog = ");
   // Serial.print(aRead);
   int tempC = aRead * ref/1023*100;
   float volt = aRead * ref/1023;
   // Serial.print(" V = ");
   // Serial.print(volt);
   // Serial.print(" - Temp = ");
   // Serial.println(tempC);
   //delay(1000);

    tm1637.display(0,tempC/10);
    tm1637.display(1,tempC%10);
    tm1637.display(2,17);
    tm1637.display(3,12);


delay(1000);


}

Grazie e buona serata

Non sono un esperto di software, difatti mi sono fatto aiutare per risolvere un mio problema, ma l'LM335 l 'ho usato più volte e non mi ha mai causato rogne. Se vai a guardare su un mio post vedrai uno sketch che utilizza il dispositivo impiegato per misurare la temp. ambiente e la converte in °C per poi spedirla in seriale. Hai messo una resistenza di polarizzazione da 1,8 Kohm tra 5 volt e polo "positivo" del LM335 ? La pull down da 10 k non serve a niente, l'aggeggio ha una sua resitenza interna abbastanza bassa e ti caccia fuori 10 mV per grado kelvin, cioè a 0° C avrai una tensione di 2,73 Volt circa.

Gli LM35 forniscono 10 mV per ogni grado centigrado, non Kelvin, infatti a 0° l'out è 0V, a 1° l'out è 10 mV.
Se è necessario misurare temperature sotto zero occorre collegare il pin GND del LM35 ad una tensione di almeno 1 V invece che direttamente a GND.

Porca vacca, avevo capito lm335, invece è il 35, sono alla frutta !! Effettivamente il 35 parla in °C e utilizza 3 piedini, l'ho usato anni fa per misurare la temp. olio nella coppa del volksvagen 1600 boxer e anche li non ho avuto rogne, ma gli hai messo un bel condensatore in parallelo ai terminali di alimentazione ?

Grazie ragazzi, proverò a mettere un condensatore ai pin di alimentazione.
Però la cosa strana è che, anche escludendo l'LM35 e mettendo direttamente a massa il pin A0, rilevo ogni tanto delle letture a cavolo e non zero come dovrebbe essere. Suppongo ci sia qualche problema con l'ADC di Arduino. Ho letto diversi post, ma non riesco a risolvere.
Ho anche alimentato il tutto con un alimentatore esterno, escludendo l'USB del PC che avrebbe potuto creare rumore.
Ho provato anche a fare cinque letture e prenderne la media, ma ovviamente il valore è falsato lo stesso perchè basta una lettura farlocca per falsare il risultato.

Si tratta di un Arduino UNO cinese... non vorrei dipendesse da questo, ma mi sembra strano.

Beh, sarà anke cinese, ma l'integrato è normale (almeno spero..), alla fine sugli ingressi non c'è attaccato un bel niente, magari è difettoso l'ATMEL.

iw2buv:
Beh, sarà anke cinese, ma l'integrato è normale (almeno spero..)

... vana speranza ... ::slight_smile:

Spesso e voletieri, le schede cinesi a bassissimo costo, montano ATmega328P di scarto, che sarebbero dovuti andare al macero, ma che, smaltitori con pochi scrupoli, reimmetono sul mercato vendendoli al Kg !!! >:(

Quindi ... NON è affatto detto che non sia un problema della MCU ...

Guglielmo

In effetti monta proprio un ATmega328P, il dubbio c'è... appena recupero un UNO originale, eseguo ulteriori verifiche e vi aggiorno.

Grazie
Buona serata

lorenzo_1971:
In effetti monta proprio un ATmega328P ...

... beh, quello di sicuro essendo un Arduno UNO; quello che è importante è la provenienza di quel chip ... ufficiale (Microchip/Atmel) o scarto di produzione :wink:

Guglielmo

P.S.: .. e non lo puoi sapere guardandolo, perché, ovviamente, la marcatura identica

docsavage:
Io a questa storia dei chip di scarto ci credo poco.

E fai male ...
... informati meglio perché è evidente che non conosci la situazione, come avviene il test e che fine fanno gli scarti. NON solo, c'è un enorme problematica di chip/componenti prorio "falsi" in cui spesso la sigla ... ha nulla a che vedere con ciò che c'è dentro :smiling_imp:

Se ne è parlato un'infinità di volte qui sul forum ... ::slight_smile:

Guglielmo

Caspita, discorso molto interessante. Effettivamente purtroppo a vista non si possono trarre conclusioni. Questa comunque è la foto del chip in questione:

docsavage:
Secondo me, qualunque sistema produttivo di grande serie del ventunesimo secolo che abbia una percentuale di scarto dell'ordine del percento è fuori dai parametri operativi, di grosso

... ma tu hai idea delle quantità di cui stai parlando ? O pensi che producono 10'000 pezzi per volta ? Bastano percentuali ben inferiori per produrre grossi volumi di "monnezza" !

Ripeto, vatti ad informare perché è cosa stranota che i lotti, che a campione, non hanno superato il test (... perché ti ricordo si fa la prova a campione su UN singolo chip e se va male, costa molto meno buttare tutto il lotto che provare gli altri), in Cina, spesso e volentieri, invece di andare distrutti, vengono reimmessi sul mercato a bassissimo costo.

Nota bene che una buona percentuale, magari funziona anche bene ... e che magari, il difetto di quelli che non funzionano bene, è solo su qualche funzione marginale che un utente "amatoriale", non noterà mai, ma che comunque preclude la vendita del prodotto attraverso i canali ufficiali.

Credo che un bel giro a Shenzhen, nel mercato dei componenti, ti chiarirebbe ... :smiley: :smiley: :smiley:

Guglielmo

E, già proprosto in passato, ma ripropongo ...
... divertitevi a leggere prima QUESTO articolo e poi il seguito QUI, QUI ed infine QUI :grin: :grin: :grin:

Guglielmo

Guglielmo, a proposito degli scarti, mi fai tornare in mente un'articolo di un grosso produttore di chip per microprocessori Giapponese, pubblicato alcuni anni fa, che parlava di una novita' nella fabbricazione dei wafer ... erano estremamente entusiasti del fatto che con il loro nuovo sistema brevettato, la quantita' di chip di scarto per wafer sarebbe piu che dimezzata, arrivando a non superare il ... 30% del totale ... tanto per dare un'idea di quanti scarti si possano avere da un processo produttivo in cui una minima vibrazione durante l'esposizione o un paio di microscopici granelli di polvere nella macchina possono creare danni spropositati rispetto all'apparenza delle cause :smiley:

Etemenanki:
... con il loro nuovo sistema brevettato, la quantita' di chip di scarto per wafer sarebbe piu che dimezzata, arrivando a non superare il ... 30% del totale ... tanto per dare un'idea di quanti scarti si possano avere da un processo produttivo ...

:smiley: :smiley: :smiley:

Guglielmo

Io ci sono stato a Shenzhen, lavoravo per una grossa azienda di cellulari e cercavamo dei prototipi visitando varie fabbriche... beh, ragazzi ho visto certe cose che voi umani..... lasciam perdere.

Grazie per le preziose informazioni. A questo punto la prova con UNO originale chiarirà molti "sospetti"

lorenzo_1971:
... beh, ragazzi ho visto certe cose che voi umani..... lasciam perdere.

... ecco, allora tu mi capisci e sai di che parlo :smiley: :grin: :smiley:

Guglielmo

docsavage:
Me ti sei almeno accorto che nei link che citi parlano di copie contraffatte, e pure male, e tu invece parli di scarti di produzione?

Io parlo di entrambe le situazioni ...
... tu invece, come al solito, ti incaponisci sulle tue posizioni (sbagliate e non collegate con la realtà) e continui a dire inesattezze. Contento tu ... sai a me quanto interessa ! ::slight_smile:

Guglielmo

gpb01:
Io parlo di entrambe le situazioni ...
... tu invece, come al solito, ti incaponisci sulle tue posizioni (sbagliate e non collegate con la realtà) e continui a dire inesattezze. Contento tu ... sai a me quanto interessa ! ::slight_smile:

Guglielmo

Vabbe

Non voglio fare la figura del troll

Avete ragione voi....

La discussione si chiude qui ... come ho detto ... resta delle tue idee e vivi contento !

Ogni altro post NON inerente al thread ed al problema di lorenzo_1971 verrà cancellato.

Guglielmo