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.
int thermistorPin =A0 ;void setup() {Serial .begin (9600 );} }void loop() {int thermistorReading =analogRead( ;thermistorPin )Serial .println( ;thermistorReading )delay( ; // rallenta le operazioni per agevolare la lettura.250 )}
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 °CdegreesF =degreesC * (9.0/5.0 ) +32.0 ; // e anche in °FSerial .print( ;"voltage: " )Serial .print( ;voltage )Serial .print( ;" deg C: " )Serial .print( ;degreesC )Serial .print( ;" deg F: " )Serial .println( ;degreesF )delay( ; // avviene una lettura al secondo1000 )} float getVoltage( {int pin )return ( analogRead( ;pin ) *0.004882814 )}
Leggere la temperatura tramite la porta seriale con una applicazione java.