Termistore

Misura della temperatura

Creare un partitore di tensione: collegare in serie al termistore una resistenza di 10KΩ Collegare il terminale libero del termistore a +5 V. Collegare il terminale libero della resistenza a GND. Collegare il il partitore di tensione (il punto in comune tra R e il termistore) all'ingresso A0 di Arduino:

Il termistore é una resistenza che cambia il suo valore con la temperatura. La relazione R-T non é lineare, Quindi la taratura di un dispositivo in grado di misurare le temperature, andrebbe effettuata ricorrendo ad una tabella di corrispondenza tra R e T.

Il termistore può essere usato per indicare una temperatura di soglia.

La funzione analogRead() si comporta come un voltmetro. In corrispondenza di +5V fornisce 1023, e in corrispondenza di 0V fornisce 0.

Quindi la caduta di tensione sul termistore può essere misurata con analogRead().

Se si crea un partitore di tensione, con una resistenza uguale a quella del termistore, la d.d.p. di alimentazione viene divisa in due parti uguali, così sul termistore si trovano 2.5 V e all'uscita dell'ADC si legge il numero 512. Ma se il termistore viene riscaldato, la sua resistenza diminuisce, e si misura una d.d.p. (ad esempio) di 0.45 V e il numero letto sull'ADC è 92. Se il termistore viene raffreddato, la sua resistenza aumenta, e si misura (ad esempio; 4 V, il numero letto sull'ADC è: 819.

Programma


        int thermistorPin = A0;
        void setup() {
          Serial.begin(9600);
        }}
        void loop() {
          int thermistorReading = analogRead(thermistorPin);
          Serial.println(thermistorReading);
          delay(250); // rallenta le operazioni per agevolare la lettura.
        }
    

Nell'IDE di Arduino il serial monitor si apre premendo l'icona a forma di lente di ingrandimento in alto a destra. Prima di usare il serial monitor, richiamare Serial.begin() per programmare a 9600 b/s la velocità della porta seriale. Il comando Serial.println() stampa una stringa o il contenuto di una variabile e si prepara su una nuova riga.


    const int temperaturePin = 0;
    void setup() {
      Serial.begin(9600);
    }
    void loop() {
      float voltage, degreesC, degreesF;
      voltage = getVoltage(temperaturePin);
      degreesC = (voltage - 0.5) * 100.0; // e la si converte in °C
      degreesF = degreesC * (9.0/5.0) + 32.0; // e anche in °F
      Serial.print("voltage: ");
      Serial.print(voltage);
      Serial.print("  deg C: ");
      Serial.print(degreesC);
      Serial.print("  deg F: ");
      Serial.println(degreesF);
      delay(1000); // avviene una lettura al secondo
    }
    float getVoltage(int pin) {
      return (analogRead(pin) * 0.004882814);
    }
    

Esercizi

Leggere la temperatura tramite la porta seriale con una applicazione java.