Sensore di temperatura ed ethernet shield

Ciao ragazzi,

ho un problemino che non riesco proprio a risolvere. Ho un arduino 2009 ed un ethernet shield. Inoltre ho un sensore di temperatura: LM35

Riesco tranquillamente a leggere la temperatura quando utilizzo solo Arduino: visualizzo gradi centigradi senza problemi.

Quando invece tento di leggere il valore utilizzando la ethernet shield ottendo valori sballati! :-[

Ovviamente in tutti e due i casi il sensore è montato su una breadboard.

L'unica spiegazione che mi sono dato è che quando utilizzo l'ethernet shield ricevo un voltaggio diverso sul pin analogico.

Dove sbaglio? :'(

Ciao ragazzi,

sono riuscito a capire come cambia il voltaggio sul pin analogico: quando uso l'ethernet shield ho trovato che il voltaggio è pari a 4. Ora come posso convertire tale informazione per avere la temperatura in gradi C?

::)

Con la ethernet shield pasi da 5V a 4V di alimentazione? Cerca la causa e non di ratoppare le conseguenze perché senó non funzionerá mai bene e alla lunga si romperá qualcosa. Che ethernet shield usi? come colleghi il LM35?

Ciao Uwe

Ciao e grazie per risposta,

utilizzolo shield ethernet ufficiale, quello che è presente sul sito di arduino.cc

Il sensore di temperatura è collegato bene poichè senza lo shield ho in output valori corretti del tipo 28, 29 gradi..ecc

Quando posiziono lo shield sopra arduino e ricollego il tutto alla breadboard, con la stessa funzione per leggere i i gradi, ottengo il valore 820 e non capisco perchè :-/ :-/

Logicamente se provo a staccare il pin analogico leggo il valore 1023. E' come se per qualche motivo non riesco più a convertire! :'(

Non ci aiuti per aiutarti.
Non dai informazioni.

A quale pin analogico hai collegato il sensore di temperatura? Al pin A0 o A1?

Vedi che sulla destra J2 (entrate analogiche) sono usate i Pin A0 e A1 per contollare se la schedina SD é protetta contro la scrittura e l’ interuttore se é presente una schedina nel conettore.

Non so se il sensore presenza schedina é chiusa se non é presente una SD.

Usa un altra entrata analogica

Ciao Uwe

Se vuoi consolarti, anch'io mi sono accorto che tali sensori sono molto sensibili ai minimi consumi di corrente. Credo che ti convenga costruire tutto il progetto e poi "tarare" da software il sensore una volta che i consumi sono fissi. (consiglio niubbo di un niubbo :D)

@uwefed: usavo la porta A0, provo con la A2 @leo72: ma come faccio a tararlo da sw? Non riesco proprio a capire perchè non mi fa la conversione.

Senza lo shield eth non ho nessun tipo di problema.

:-X :-X

@uwefed: grandissimoooooooo! ho risolto semplicemente cambiando ingresso!

Ora ho solo un altro pccolo problema: la temperatura è due gradi in più rispetto alla realtà (ho un altro termometro nella stanza).

Come potrei risolvere?

Grazie ragazzi! ;D

La posizione del sensore é critica per misurare una temperatura attendibile. La posizione del LM sopra il breadboard non legge la temperatura del aria della stanza. Controlla questo e fai la misura di riferimento nello stesso punto, vicinissimo al LM35.

Cia Uwe

Tarandolo via software ;) temp = temp - 2; ;D

@leo72:
é una soluzione ma perché funzioni devi essere sicuro che:

  • l’ errore sia costante su tutta il range di misura.
  • che non sia un errore dato dalla posizione sulla breadboard
    Ciao Uwe

Già in effetti non sarebbe una soluzione “giusta” :wink:

controlla anche se i 5V di alimentazione che vengono usati come tensione di riferimento siano 5,00V: Anche questo Ti fa misurare sbagliato. Ciao Uwe

Ok, grazie mille per il supporto! ;D