[RISOLTO] mcp9700 - temperatura diversa se alimentato dal pin digitale

Sto provando lo sketch per il sensore di temperatura mcp9700 e ho riscontrato un problema che vorrei porre alla vostra attenzione.
Dal serial monitor leggo 23,34 °C se alimentato a 3V o 5V diretti, mentre se lo alimento tramite un pin digitale leggo 27,65.
Dalle specifiche del sensore piccole differenze di tensione non dovrebbero dare letture differenti.
Secondo voi a cosa è dovuta questa differenza?

Grazie sin da ora

Scusa ma.... da quando un sensore si pilota direttamente con un pin digitale ? :open_mouth:

In futuro mi servirà di alimentare Arduino con una batteria e stavo cercando il modo di far funzionare i sensori a comando per risparmiare carica.

mancava il condensatore tra l'alimentazione del sensore e la terra come indicato in:

Comunuque prima di mettere high sul pin digitale metto un analogread che non memorizzo il da una temperatura di circa 0,5°C più alta: verificherò con un termometro al mercurio quale è più corrispondente.

float temp;
void setup(){
  pinMode(4, OUTPUT); 
  Serial.begin(57600);
                }
void loop(){
  analogRead(4);
  digitalWrite(4,HIGH);//eliminare questa riga se si collega ai 5V diretti 
  delay(1000);
  temp=analogRead(4);
  temp=((temp*5/1024)-0.5)*100; //sensore mcp9700 fisso a 5V consuma 6 microA
  digitalWrite(4,LOW);
  Serial.print("temperatura   "); Serial.println(temp);
  delay(5000);
              }

Puoi usare un transistor collegato al sensore e comandato da un pin per attivare e disattivare il sensore stesso.

Non si alimentano dei circuiti integrati da un pin di Arduino.
Quel sensore consuma cosí poca corrente che non ha senso spegnerlo. Consumi piú corente per pilotare il transistore.
Ciao Uwe