[bglug] (senza oggetto)

Paolo Asperti paolo@asperti.com
Mer 23 Gen 2013 09:54:12 CET


Il giorno 23/gen/2013, alle ore 09:15, Giacomo Leidi <leidigiacomo@gmail.com> ha scritto:

> 
> sto tentando di costruire un progetto che rileva la temperatura tramite un sensore TMP36 (datasheet:http://arduino.cc/documents/datasheets/TEMP-TMP35_36_37.pdf) e me la manda, insieme al voltaggio e all'output del sensore via seriale. In più in base alla varizione di temperatura accende 1/2/3 led (T<19° = 0 led, 19°<T<21° = 1 led, 21°<T<23° =  2 led, T>23° 3 led). Il problema è che il sensore mi legge una temperatura negativa (Seriale: http://pastebin.com/Nd5FyGbb). Vi allego lo schema elettrico e lo sketch, sperando nel vostro aiuto.

dal datasheet (pag.5 fig.6) posso leggere che questo sensore restituisce circa 0.5V a 0°C, e 0.75V a 25°C.
Comincerei a verificare che la tensione in uscita al sensore sia corretta, per poi passare a controllare la lettura dell'ingresso analogico (senza interpretarla) e poi guarderei il software.

Da qui http://arduino.cc/en/Reference/analogRead si legge che la analogRead ti restituisce un intero nell'intervallo 0..1023 per le tensioni 0..5V, quindi è sensato aspettarsi valori tra 102 e 153 per l'intervallo 0..25°C.

Purtroppo nel log che hai mandato non c'è indicazione dell'effettiva temperatura che ti aspettavi di leggere, sommato alle incertezze di cui sopra, ciò rende i dati sono difficilmente interpretabili.

Secondo me la procedura da fare sarebbe questa:
- far leggere al sensore una temperatura certa (supponiamo 20°C)
- controllare la tensione in uscita dal sensore (dovrebbe essere circa 0.70V)
- verificare cosa dice analogRead (mi aspetterei 143)
- solo dopo che quanto sopra è a posto, metterei mano al software


> PS: ho provato a sostituire il sensore con altri tre e non cambia nulla, spero solo che non siano tutti difettosi :)

e' più probabile che funzionino tutti correttamente.


-- 
Paolo Asperti
paolo@asperti.com






Maggiori informazioni sulla lista bglug