Imprecisione sensore temperatura DS18B20

Ciao,Come da discussione precedente,sto realizzando un piccolo termometro utilizzando il sensore DS18B20 e un arduino micro.Dopo aver saldato tutto,ho scritto questo codice prova :

#include <DallasTemperature.h>
#include <OneWire.h>
#define ONE_WIRE_BUS 18
OneWire ourWire(ONE_WIRE_BUS);
DallasTemperature sensors(&ourWire);

void setup() 
{
delay(1000);
Serial.begin(9600);
delay(1000);
sensors.begin();
}

void loop() 
{
Serial.println();
sensors.requestTemperatures();
Serial.print("Temperatura = ");
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" gradi C");
}

Il risultato è che la temperatura reale di 29° è diversa da quella misurata dal sensore,cioè 33°.Circuito corretto e piedino centrale saldato su A0 , ossia il pin digitale numero 18 di arduino micro.

Lo hai fatto freddare almeno 10 minuti dopo averlo saldato e tenuto in mano?

Si,ho provato e riprovato. temperatura imprecisa di 4-5 gradi. Noto che durante la lettura a monitor seriale la temperatura continua a salire, variando anche di due gradi rispetto alla lettura iniziale.Come se fosse l'alimentazione a riscaldare il sensore.

Il circuito è dentro questa scatoletta nera e fuoriesce solo il sensore. Quindi non credo sia una questione di temperatura proveniente dal basso. Il sensore è completamente all'esterno

Se la scatoletta scalda, sì! Se ruoti la scatoletta e metti il sensore verso il basso, che succede?

Appena rientro provo e ti dico. Nel frattempo un dubbio mi sovviene. Qualche tempo fa realizzai un termometro a colonna con un sensore TMP36. Avendo più spazio nel progetto, il sensore è stato posizionato spostato dalla scheda arduino micro. Ho utilizzato dei fili prolunga per collegarlo. In quel caso sono riuscito ad avere una misurazione quasi perfetta.In questo caso ho invece poco spazio. Ho saldato piedino centrale e vcc con cavetto corto . Per GND ho saldato direttamente il piedino del sensore alla scheda,dato che risultava proprio sopra. Può essere questa la causa di questa imprecisione? Temperatura che si accumula causa cablaggio ridotto e calore prodotto che non riesce a dissiparsi?

Due termometri su due che sbagliano?

Tutti e due in più

Che magari a sia l'altro che sbaglia in meno?

Tutto sappiamo della tastiera la sedia e i problemi

Non so, è strano. Ora ho provato a staccare addirittura GND dalla scheda. Ho accorciato il piedino e messo un cavetto, quindi non c'è più nemmeno quel contatto. Idem. Parte da 29.5 gradi, ossia la temperatura reale (misurata con termometro a mercurio) , e poi sale di continuo durante il test. Si ferma sempre fra i 3 e i 5 gradi di imprecisione. Ho provato anche a capovolgere la scatolina, col sensore verso il basso ma non cambia niente. @Datman

Alla fine mi sono arrangiato. Ho visto che l'imprecisione è sempre di 4 gradi precisi,quindi li ho scalati dal valore rilevato dal sensore. Ho fatto prima. Più che altro ora c'è un altro problema : i led emettono luce fioca... Se li faccio illuminare disabilitando il sensore tutto ok. Quando si illuminano col sensore attivo praticamente sono quasi spenti... Come mai? Ho pensato alla resistenza di pull-up del sensore. È collegata tra i due piedini del sensore. Quello centrale e quello destro. Nel destro ho collegato anche il filo dei 5v e nel centrale anche quello del pin A0. Temperatura ok ma problema ai led.

Con quale programma?
E con quale schema?

Niente,risolto ora.Una stupidaggine. Durante le prove avevo inserito come commenti i tre pinMode. Abilitavo la parte dentro loop ma mi dimenticavo sempre i pinMode dentro setup.
Risolto,ora funziona tutto.