<p>La temperatura è quella di una casa tra i 19 e i 20 gradi</p>
<div class="gmail_quote">Il giorno 23/gen/2013 09:54, "Paolo Asperti" <<a href="mailto:paolo@asperti.com">paolo@asperti.com</a>> ha scritto:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Il giorno 23/gen/2013, alle ore 09:15, Giacomo Leidi <<a href="mailto:leidigiacomo@gmail.com">leidigiacomo@gmail.com</a>> ha scritto:<br>
<br>
><br>
> sto tentando di costruire un progetto che rileva la temperatura tramite un sensore TMP36 (datasheet:<a href="http://arduino.cc/documents/datasheets/TEMP-TMP35_36_37.pdf" target="_blank">http://arduino.cc/documents/datasheets/TEMP-TMP35_36_37.pdf</a>) 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: <a href="http://pastebin.com/Nd5FyGbb" target="_blank">http://pastebin.com/Nd5FyGbb</a>). Vi allego lo schema elettrico e lo sketch, sperando nel vostro aiuto.<br>
<br>
dal datasheet (pag.5 fig.6) posso leggere che questo sensore restituisce circa 0.5V a 0°C, e 0.75V a 25°C.<br>
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.<br>
<br>
Da qui <a href="http://arduino.cc/en/Reference/analogRead" target="_blank">http://arduino.cc/en/Reference/analogRead</a> 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.<br>
<br>
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.<br>
<br>
Secondo me la procedura da fare sarebbe questa:<br>
- far leggere al sensore una temperatura certa (supponiamo 20°C)<br>
- controllare la tensione in uscita dal sensore (dovrebbe essere circa 0.70V)<br>
- verificare cosa dice analogRead (mi aspetterei 143)<br>
- solo dopo che quanto sopra è a posto, metterei mano al software<br>
<br>
<br>
> PS: ho provato a sostituire il sensore con altri tre e non cambia nulla, spero solo che non siano tutti difettosi :)<br>
<br>
e' più probabile che funzionino tutti correttamente.<br>
<br>
<br>
--<br>
Paolo Asperti<br>
<a href="mailto:paolo@asperti.com">paolo@asperti.com</a><br>
<br>
<br>
<br>
<br>
<br>
--<br>
Sito BgLUG: <a href="http://www.bglug.it" target="_blank">http://www.bglug.it</a><br>
Mailing list: <a href="http://lists.linux.it/listinfo/bglug" target="_blank">http://lists.linux.it/listinfo/bglug</a><br>
</blockquote></div>