Quale sensore di temperatura?

Sto leggendo un po di discussioni sui sensori di temperatura, pero' ho un po di confusione e incertezza su quale sensore usare.
Vi dico cosa devo fare e magari mi consigliate su quale sensori prendere.
Su una centralina che devo mettere in auto, con display ecc... e che fa tante altre cose, per ora con il MEGA 2560 ma successivamente passero' al DUE, voglio misurare la temperatura esterna e quella interna.
Tra sensori analogici, digitali, termoresistenze, o composti con sensore umidita' e altro quale mi consigliate di usare?
Vorrei una accuratezza abbastanza buona.
Grazie

guardando qua e là mi sembra che per il sensore esterno potrei prendere il DHT22, che ha anche il sensore umidita', mentre per l' interno? ds18b20??
Faccio bene a buttarmi sui digitali?

Possibile che nessuno mi possa essere di aiuto? =(

Quelli ke hai menzionato vanno benissimo e visto ke passi alla Due l’importante è ke funzionino anke a 3 volts e quelli lo sono

ok allora opto per questi, il mio dubbio tra analogici e digitali era per il fatto che dovrei collegare molte cose sull' I2C, magari mettendo in analogico qualcosa, senza perdere affidabilita' ed accuratezza, non appesantivo troppo l' I2C snellendone l' utilizzo.
Grazie mille per la risposta.

La DUE dispone di 2 canali I2C separati.
Se hai molti componenti li puoi sempre distribuire tra i 2 canali.

http://arduino.cc/en/Main/ArduinoBoardDue:
TWI 1: 20 (SDA) and 21 (SCL)
TWI 2: SDA1 and SCL1.

comunque sia il sensore DHT22 non lavora con l'I2C.
poi metterlo a rilevare temperature - umidità esterne con questo sensore non credo sia il massimo, soprattutto in un'auto che immagino viaggerà anche con la pioggia, prenderà pozzanghere ecc.
dal data sheet:

Other attentions

  • Welding temperature should be bellow 260Celsius.
    * Avoid using the sensor under dew condition

Deltoz:
dovrei collegare molte cose sull' I2C

Il bus I2C può gestire fino a 127 periferiche differenti sulla stessa linea. Il problema casomai è quanto saranno lunghe queste linee. Su un'auto il cavo può arrivare anche a diversi metri di lunghezza, oltretutto in un ambiente ricco di disturbi. Tieni conto di questo, magari usando dei bus extender.

quindi sarebbe sconsigliato il DHT22 ??
io pensavo di piazzarlo nello specchietto, non prenderebbe acqua, pero' i valori potrebbero sfalsarsi leggermente, o devo trovare un luogo piu' idoneo.
Fino a che distanza posso usare una linea I2C senza avere interferenze?

Tra l' altro il DHT22 eventualmente andrebbe collegato ad un ingresso digitale, e non in I2C, quindi quanto potrei metterlo distante da Arduino?

Lo ha già detto tapirinho, ma lo ripeto... dove avete visto che il DHT22 funziona in I2C ??? :astonished:

Il DHT22 usa un collegamento one-wire e richiede la sua libreria ... QUI un bel tutorial ...

Guglielmo

Edit : Ah .. ok .. nel frattempo ho visto che hai corretto ... comunque il tutorial ti può essere utile :wink:

Deltoz:
Fino a che distanza posso usare una linea I2C senza avere interferenze?

Il bus I2C è nato come bus locale e non dovresti superare qualche decina di cm … per andare oltre devi usare dei I2C bus extender come, ad esempio, il P82B715 … di cui ti allego il datasheet :wink:

Guglielmo

P82B715 (I2C Externder).pdf (147 KB)

Grazie mille Guglielmo.
Visto che il DHT22 non e' I2C ma lavora in digitale, quanto posso metterlo distante?
Altrimenti mi consiglieresti un sensore che possa fare al caso mio?
Grazie

Deltoz:
.... il DHT22 non e' I2C ma lavora in digitale, quanto posso metterlo distante?

il DHT va benissimo solo che il problema non è il DHT22 ma qualsiasi pin di qualsiasi microcontrollore non può essere mandato in giro per il mondo senza un condizionamento, può essere solo collegato a pochi centimetri di distanza,
quindi bisogna aggiungere dei componenti per "rafforzare" cioè "interfacciare".

Il più semplice condizionamento è una resistenza di pullup , che già è meglio di niente.

Allora, se guardi il datasheet del prodotto (datashet che ti allego - la sigla è diversa, ma è il DHT22), vedi che il colloqui avviene con segnali abbastanza veloci, dell’ordine dei uSec. Inoltre, alla fine del datasheet trovi scritto :

Attentions to connection wires
The connection wires’ quality will effect communication’s quality and distance, high quality shielding-wire is recommended.

Purtroppo non viene indicata una distanza massima, quindi devi fare qualche prova … usando del buon cavo schermato con la calza collegata a massa ovviamente SOLO dal lato di Arduino. Comunque io starei entro pochi mt. … :roll_eyes:

Guglielmo

DHT22.pdf (897 KB)

icio:
Il più semplice condizionamento è una resistenza di pullup , che già è meglio di niente.

SI, infatti, se vedi il tutorial di AdaFruit che gli avevo linkato, vedrai che ci mettono una 10K ... :wink:

Guglielmo

si si, e' chiaro, i segnali digitali li metto sempre in PullUP o PullDown in base all' esigenza e alle caratteristiche del segnale trasmesso.
Usero' un cavetto schermato per segnali, e restero' entro un massimo di 1,5-2mt, vediamo se mi da' problemi.
Grazie ancora.

E' proprio il minimo.. :.

Sto facendo delle prove in laboratorio.
Ho collegato il DHT22 prima ad un cavo ethernet lungo 10Mt e con solo la resistenza di pullUP non da’ il minimo problema, con lo sketch di test da sempre ok, senza perdere mai una lettura…
Poi ho provato anche con un semplice cavo telefonico a 3 fili…sempre 10Mt…nessun problema, nessuna lettura persa…per ore di utilizzo.
Quindi credo che in auto, anche in presenza di qualche disturbo in piu’, con un cavo di un paio di metri non dovrei avere alcun problema.
Vedremo.