[RISOLTO]Problema con LM35 e attiny85...

Salve a tutti....

Purtroppo come volevasi dimostrare, il termometro che ho realizzato non funziona, il risultato è una fluttuazione dei numeri senza senso, come se il sensore LM35, non venisse rilevato dall'ingresso 3 dell'Attiny85, posto il link del codice:http://www.instructables.com/id/7-Segment-Digital-Thermometer-using-ATtiny-85/step3/Code-/ Dopo aver collegato tutto, ho controllato anche che il pin centrale del sensore variasse di tensione, cosa che avviene, ma non capisco del perchè il valore continui a fluttuare senza un ordine logico. Il sensore è collegato correttamente, con il centrale nel pin3 e l'alimentazione a 5V. Ciao

ciao matrix, ho avuto anche io il tuo stesso problema, e la soluzione potrebbe essere la stessa, chi sa, ti espongo la mia esperienza a riguardo :) vidi il datasheet del componente, collegai il tutto, e feci partire lo skech, mi dava valori casuali come te, e poi dopo circa 4-5 secondi mi dava valori che fluttuavano tra 600 e 700 (non avevo ancora fatto la conversione dei gradi), preso dal dubbio, toccai il sensore, e... magia.. mi scottai il dito, lasciando una bella impronta sul sensore XD morale della favola? sul datasheet la massa e il vcc sono invertiti, e lo collegai male, fondendolo (a dir la verità non so se funzioni ancora, domani farò una prova). Se vuoi un metodo per capire subito se lo colleghi bene o male, fai cosi: 1 dai tensione all'arduino(lo metti nell'usb) 2 colleghi il sensore all'arduino come fai sempre 3 vedi se i led della basetta quando connetti il sensore calano di intensità o meno. se calano di intensità, hai sbagliato a collegare il vcc e gnd, quindi li inverti e tutto dovrebbe fungere. fammi sapere come ti è andata ;) do per scontato che il codice funzioni, e che hai messo la libreria LedControl nell'ide .

salvio810:
… morale della favola? sul datasheet la massa e il vcc sono invertiti

Ma per favore, non diciamo certe baggiante che poi la gente che legge ci crede !!!

Il datasheet è giusto e … è praticamente certo che sei tu che hai sbagliato a leggerlo !

NON DATE INFORMAZIONI SBAGLIATE QUANDO NON SIETE SICURI !!! Grazie.

Guglielmo

allora lessi io male… bho… fatto sta che sbagliai , e me la cavai da solo hihi forse è lo stesso problema u.u scusate della sciocchezza detta >.<

salvio810: ciao matrix, ho avuto anche io il tuo stesso problema, e la soluzione potrebbe essere la stessa, chi sa, ti espongo la mia esperienza a riguardo :) vidi il datasheet del componente, collegai il tutto, e feci partire lo skech, mi dava valori casuali come te, e poi dopo circa 4-5 secondi mi dava valori che fluttuavano tra 600 e 700 (non avevo ancora fatto la conversione dei gradi), preso dal dubbio, toccai il sensore, e... magia.. mi scottai il dito, lasciando una bella impronta sul sensore XD morale della favola? sul datasheet la massa e il vcc sono invertiti, e lo collegai male, fondendolo (a dir la verità non so se funzioni ancora, domani farò una prova). Se vuoi un metodo per capire subito se lo colleghi bene o male, fai cosi: 1 dai tensione all'arduino(lo metti nell'usb) 2 colleghi il sensore all'arduino come fai sempre 3 vedi se i led della basetta quando connetti il sensore calano di intensità o meno. se calano di intensità, hai sbagliato a collegare il vcc e gnd, quindi li inverti e tutto dovrebbe fungere. fammi sapere come ti è andata ;) do per scontato che il codice funzioni, e che hai messo la libreria LedControl nell'ide .

Purtroppo il problema non è così semplice, il componente è correttamente alimentato e col voltmetro si nota chiaramente che funziona. il segnale è collegato al pin dell'attiny85 come da schema, ho controllato le continuità e la tensione variabile arriva al pin analogico.

-Adesso ho testato che funzionasse il pin, collegandoci un buzzer e gestendolo con varie freqeunze ed il buzzer oscilla.

-Il 7219 è ok, ho provato a scrivere sui display numeri e linee.

-Nel frattempo i numeri continuano a variare, come se il sensore non fosse collegato ed a questo punto domani provo con atmega 328, oppure su arduino direttamente, non mi resta altro da fare.

Ciao e grazie comunque per il tuo intervento

salvio810:
allora lessi io male… bho… fatto sta che sbagliai , e me la cavai da solo hihi forse è lo stesso problema u.u scusate della sciocchezza detta >.<

Te l’ha già detto Guglielmo “il paziente” mi raccomando evita cavolate del genere che gente poco esperta come me potrebbe far tesoro di cose sbagliate e pericolose. :wink:

matrix77, dando per scontato che il collegamento sia fatto bene, ovvero che l'uscita del LM35 sia collegata al pin fisico 2 del ATtiny85 (Analog Pin 3), il dubbio potrebbe stare su quanto descritto a pagina 9 del datasheet ... hai provato a mettere la resistenza in serie (Fig. 14) ? ... o la configurazione RC (Fig. 15) ? o quelle che trovi alle pagine seguenti ?

Comunque, per verificare che il programma funzioni, potresti temporaneamente mettere in ingresso un potenziometro e vedere se, variando la tensione, variano correttamente le letture in ingresso ... ;)

Guglielmo

Prova a collegare il sensore ad Arduino o un secondo sensore al tiny in modo da escludere malfunzionamenti dell'uno o dell'altro componente.

gpb01: matrix77, dando per scontato che il collegamento sia fatto bene, ovvero che l'uscita del LM35 sia collegata al pin fisico 2 del ATtiny85 (Analog Pin 3), il dubbio potrebbe stare su quanto descritto a pagina 9 del datasheet ... hai provato a mettere la resistenza in serie (Fig. 14) ? ... o la configurazione RC (Fig. 15) ? o quelle che trovi alle pagine seguenti ?

Comunque, per verificare che il programma funzioni, potresti temporaneamente mettere in ingresso un potenziometro e vedere se, variando la tensione, variano correttamente le letture in ingresso ... ;)

Guglielmo

Ottima idea ed eseguita...

PaoloP: Prova a collegare il sensore ad Arduino o un secondo sensore al tiny in modo da escludere malfunzionamenti dell'uno o dell'altro componente.

Anche questa, ma poi non trovando anomalie, mi sono spostato sul software, visto che ho modificato il progetto portandolo a soli 2 display, avevo sbagliato ad inviare i valori "decine" e "centinaia", visualizzando così i decimali, questo mi capita quando lavoro di notte con queste cose, così se qualcosa non va, m'innervosisco e mi sposto sulle cause hardware.

Adesso funziona, ma ho fatto un giro lungo, solo perchè ho creduto di aver eseguito le giuste modifiche sul codice. La parte originale:

lc.setDigit(0,4,(byte)hundreds,false);
  lc.setDigit(0,3,(byte)tens,false);
  lc.setDigit(0,2,(byte)ones,true);
  lc.setDigit(0,1,(byte)ftens,false);
  lc.setDigit(0,0,(byte)fones,false);

modificato in:

 //lc.setDigit(0,4,(byte)hundreds,false);
 // lc.setDigit(0,3,(byte)tens,false);
  //lc.setDigit(0,2,(byte)ones,true);
  lc.setDigit(0,1,(byte)ones,false);
  lc.setDigit(0,0,(byte)tens,false);

Ho fatto un errore da stupido e ho dato per scontato alcune cose, inviando al display le ultime cifre che chiaramente per loro natura, continuavano ad oscillare e ad incrementare.Questa cosa non l'ho specificata all'inizio, perchè ero convinto di aver inviato ai display, le decine ed unità.

Ringrazio ancora tutti voi per la partecipazione ed ecco il termometro: Ciao

OTTIMO !!! :) :) :)

Guglielmo

bella realizzazione matrix77!! mi fa piacere della risoluzione! pensa te che io quasi tutte le volte che mi metto al lavoro sull'elettronica e non solo e smetto tipo alle 2 o 3 del mattino il giorno dopo mi accorgo di millemila cavolate ed errori! :grin:

Ocio a quelle basette in bachelite sono bastarde! ne ho presa una perchè me l'hanno tirata dietro e perchè ne avevo bisogno di una piccina già pronta, mi si è staccata una pista ramata... :(

Goretto: bella realizzazione matrix77!! mi fa piacere della risoluzione! pensa te che io quasi tutte le volte che mi metto al lavoro sull'elettronica e non solo e smetto tipo alle 2 o 3 del mattino il giorno dopo mi accorgo di millemila cavolate ed errori! :grin:

Ocio a quelle basette in bachelite sono bastarde! ne ho presa una perchè me l'hanno tirata dietro e perchè ne avevo bisogno di una piccina già pronta, mi si è staccata una pista ramata... :(

Ciao Goretto E' si, infatti le asole ramate sono delicate, ma se devo fare qualche esperimento, le preferisco alle noiosissime breadboard, preferisco saldare e dissaldare i componenti e il circuito alla fine mi rimane, con le breadboard, ho avuto amare sorsprese con falsi contatti e se devi realizzare circuiti oscillatori che lavorano in radiofrequenza, non vanno bene. Se poi il circuito che sto facendo mi appassiona, lo realizzo con la fotoincisione, oppure lo spedisco e lo faccio realizzare, ultimamente non ho più voglia di usare sostanze chimiche per gli sviluppi dei vari pcb eheh.

Ciao