Lettura analogica errata ???

Ciao, stavo implementando un sensore temperatura LM35DZ sul mio progetto con arduino uno ma non riuscendo ad ottener valori credibili ho pensato di fare un test di lettura alle porte analogiche... Ho usato questo codice:

int tempPin0 = A0;  //inizializzazione del pin di Arduino
int tempPin1 = A1;  //inizializzazione del pin di Arduino
int tempPin2 = A2;  //inizializzazione del pin di Arduino
int tempPin3 = A3;  //inizializzazione del pin di Arduino
int tempPin4 = A4;  //inizializzazione del pin di Arduino
int tempPin5 = A5;  //inizializzazione del pin di Arduino


void setup()
{
  Serial.begin(9600); //apertura porta seriale, set della velocità a 9600 bps
}

void loop()
{
  Serial.println("---------------NEW READ----------");
  Serial.println("pin0");
  Serial.println(analogRead(tempPin0));
  Serial.println("pin1");
  Serial.println(analogRead(tempPin1));
  Serial.println("pin2");
  Serial.println(analogRead(tempPin2));
  Serial.println("pin3");
  Serial.println(analogRead(tempPin3));
  Serial.println("pin4");
  Serial.println(analogRead(tempPin4));
  Serial.println("pin5");
  Serial.println(analogRead(tempPin5));
  delay(2000);

}

mi sarei aspettato di vedere tutti valori prossimi allo zero (su 1023 variazioni possibili) invece ecco qui:

---------------NEW READ---------- pin0 331 pin1 327 pin2 329 pin3 333 pin4 315 pin5 331

Come è possibile avere queste letture in analogico considerando che avevo solo arduino collegato via USB senza nulla di collegato ad arduino? E' per questo che quindi mi trovavo valori strani nella temperatura....

Se ne è parlato un infinità di volte ...

... i pin in ingresso di Arduino sono in alta impedenza, il che significa che sono sensibili a qualsiasi disturbo che ci sia in giro (basta che ci accosti una mano e vedi variare il segnale). Non puoi lasciare un pin in ingresso non collegato ... ... o lo colleghi a qualche cosa, o metti una resistenza verso massa o ... non lo usi !!!

Guglielmo

P.S. : Usatelo ogni tanto il bottone "Advanced Search" che è in alto a destra ... ]:D

ok allora ho messo un LM35DZ collegato: pin sx al +5V, pin dx al GND e pin centrale sul pin A0 di arduino. Eseguo questo codice:

const int sensorPin = A0;

void setup(){
  Serial.begin(9600);

}

void loop(){
  int sensorVal = analogRead(sensorPin);
  Serial.print("sensor Value: ");
  Serial.print(sensorVal);
  float voltage = (sensorVal/1024.0) * 5.0;
  Serial.print(", Volts: ");
  Serial.print(voltage);
  Serial.print(", degrees C: "); 
  float temperature = (voltage - .5) * 100;
  Serial.println(temperature);

  delay(1000);
}

e questo è il risultato:

sensor Value: 847, Volts: 4.14, degrees C: 363.57 c'è qualcosa che non va... o sbaglio qualcosa io, ma non saprei cosa, o sul sensore LM35 o sulla porta di arduino cè qualcosa che non funziona correttamente...

loop_1: ok allora ho messo un LM35DZ collegato: pin sx al +5V, pin dx al GND e pin centrale sul pin A0 di arduino.

... ti rendi conto che "... pin sx al +5V, pin dx al GND ..." NON significa assolutamente nulla ? ... e che, ovviamente, tutto dipende da come guardi il componente ? Per sapere se lo hai collegato bene devi fare riferimento al datasheet ... a pagina 2 a sinistra hai una vista [u]da sotto[/u] ... controlla con quella ... perché il collegamento è l'errore più frequente !

Poi ... a che distanza si trova il sensore ? Come è collegato ? Hai letto sul datasheet, da pagina 8 in poi, alche i possibili schemi di collegamento per ridurre le interferenze ?

Inolte, ripeto, se fai delle ricerche qui sul forum per LM35 ... [u]ci sono un infinità di post[/u] di gente che aveva problemi simili ai tuoi ... guardateli e, probabilmente, trovi la soluzione ...

Guglielmo

Eh caro Guglielmo, inutile che te la prendi, la "ricerca" costa, far fare agli altri invece è gratis... in tempi di crisi come questa chi vuoi che abbia il tempo di cercare le soluzioni ai propri problemi? Ci deve pensare il Governo Ladro! Va a finire che qualche giorno si iscrive un tale MatteoPD e promette aiuto a tutti, così il Team potrà finalmente abolire il sevizio "Search" :grin:

Purtroppo effettuando la ricerca per "problemi lettura analogica" o simili non viene fuori proprio nulla in merito!! Ora che ho capito che il problema è invece dovuto al LM35 vedo che ci sono diverse discussioni in merito ai problemi di lettura... ma prima dovevo capire a cosa era dovuto il problema....

bastava rispondere qualcosa del tipo: " il problema è del LM35". Era già sufficiente per rispondere al quesito e sarebbe servito anche in futuro ad altri utenti... invece perder tempo a fare i "grandi" che si scocciano a dover rispondere a chi chiede informazioni rende il topic inutile non aiuta certo chi in futuro cercherà informazioni simili, nemmeno usando l' "advanced search". Ottimo comportamento da forum! Grazie

Vedi, in realtà bastava ignorarti, se qualcuno avesse voluto fare il "grande". Se non sai usare la funzione search pazienza, sei agli inizi e può essere normale. Invece di sparare giudizi senza sapere nulla dovresti porti il problema che se qualcuno ti dice che se n'è parlatoinfinite volte, vuol dire che non sei in grado tu di cercare. A proposito dell'LM35, tanto per smentire tutto ciò che dici, c'è una discussione di dicembre 2013, nella quale ho guidato passo-passo un utente che doveva far funzionare questo integrato, con tanto di suggerimenti hardware e software e citazioni di data-sheet e grafici con i risultati, ho scritto non meno di 50 post in quell'occasione; nelle ultime due settimane un altro utente ha sicuramente aperto un Topic su questo integrato, lementando gli stessi tuoi problemi e gli sono state date le risposte. Quindi pensala come vuoi ma prima di giudicare gente che è qui da anni ed aiuta chiunque, te compreso, senza filtri, prova a pensare di essere in difetto tu, almeno per un momento, visto che comunque le indicazioni ti sono state date.....

Solo perchè ho pochi messaggi su questo forum non vuol dire è che è la prima volta che uso internet... Innanzitutto non volevo di certo offendere nessuno ma leggo spesso, e quasi esclusivamente sui forum italiani, commenti del tipo "impara a cercare", "si è già parlato" ecc con aria di superiorità. Bene che utilità portano al forum? Nulla. Apprezzo molto l'indicazione che mi è stata data in merito al sensore LM35, e grazie a questo ho risolto il problema, ma come avrebbe potuto venirmi in mente che il problema fosse li considerando che ho aperto la scatola di arduino 5gg fa? Il mio primo pensiero è stato di aver danneggiato in qualche modo la scheda! Ovviamente uno che ne mastica, capisce subito che la domanda è stata posta in maniera errata ma un niubbo certo no! Poi infatti cercando per LM35 ho trovato parecchie discussioni in merito che chiariscono il problema. Che poi l'italia sia patria di fancazzisti per cui chiedere è meglio che arrangiarsi è vero, ma fortunatamente non siamo tutti così! Non è certo mia intenzione far polemica ma non mi piace essere preso per la persona sbagliata.

Ok lasciamo perdere, non ci guadagna nessuno. Almeno hai trovato la soluzione? A che punto sei?

Ok lasciamo perdere, non ci guadagna nessuno. Almeno hai trovato la soluzione? A che punto sei?

Pensa che stavo per rispondere la stessa cosa del tuo post precedente, se ne è discusso parecchio e mi ha stupito il fatto che quell'utente lo hai preso per mano e seguito passo passo fino alla soluzione.

commenti del tipo "impara a cercare", "si è già parlato" ecc con aria di superiorità.

Si tratta di percezione, non è detto che si tratti di superiorità, in ogni caso resta sempre il fatto che c'è ampia documentazione nel forum, purtroppo è frammentata e difficile da trovare e può costare molto tempo trovare ciò che ci serve.

In effetti nel forum si è parlato in modo anche approfondito di quasi tutto il necessario: RTOS, multitasking, millis, interrupt, PINCHANGED, timer hardware interni al micro, PWM, TRIAC e parzializzazione di fase, ntc, RTCC, rtc e tanto tanto altro ancora che si potrebbero scrivere 10 libri.

Il principiante ha la scusante per non usare la funzione cerca, è tutto preso da qualcosa di nuovo e figurati se pensa a fare una ricerca, posta e la risposta che riceve non la prende nel verso giusto, capita spesso.

Dalle mie parti si dice così: amunì, amunì n'ca niente succiriu , pigghiamuni u cafè (andiamo andiamo che non è successo niente, prendiamoci il caffè)

Ciao.

gpb01: Inolte, ripeto, se fai delle ricerche qui sul forum per LM35 ... [u]ci sono un infinità di post[/u] di gente che aveva problemi simili ai tuoi ... guardateli e, probabilmente, trovi la soluzione ... Guglielmo

@loop mi spiace ma @Guglielmo ti ha detto di fare una ricerca per LM35 mentre tu hai fatto: "Purtroppo effettuando la ricerca per "problemi lettura analogica" o simili..." che non c'entra nulla. @Guglielmo già ti aveva indicato la strada giusta.

Quindi mi pare che NON hai seguito il suggerimento dato ma hai fatto di testa tua.

gpb01: ...Guglielmo P.S. : Usatelo ogni tanto il bottone "Advanced Search" che è in alto a destra ... ]:D

Certo sarebbe meglio lo mettessero a posto quella ricerca avanzata. Se vuoi cercare solo nelle sezioni italiane devi marcare le sottosezioni India !!!! ( e mi pare l'avessimo segnalato moolto tempo fa) Ri-segnalo la cosa nel thread "problemi forum" :grin:

nid69ita: @loop mi spiace ma @Guglielmo ti ha detto di fare una ricerca per LM35 mentre tu hai fatto: ...

Veramente, e senza voler fare alcuna polemica, io avevo chiesto e detto anche molto di più ... XD

gpb01: ... Per sapere se lo hai collegato bene devi fare riferimento al datasheet ... a pagina 2 a sinistra hai una vista [u]da sotto[/u] ... controlla con quella ... perché il collegamento è l'errore più frequente !

Poi ... a che distanza si trova il sensore ? Come è collegato ? Hai letto sul datasheet, da pagina 8 in poi, alche i possibili schemi di collegamento per ridurre le interferenze ? ...

... ma va bene, se ha trovato la soluzione e gli funziona, la cosa è risolta.

Guglielmo

nid69ita: ... Ri-segnalo la cosa nel thread "problemi forum"

Totalmente inutile ... [u]è da una vita che lo sanno[/u] ... ma non lo mettono a posto ... :roll_eyes: :roll_eyes: :roll_eyes:

Guglielmo

Ma magari qualche utente legge il mio post e viene a conoscenza del "workaround" :grin: