Paso 5: Termómetro de suministro independiente de Auto Calibración
Este ejemplo es similar a la arriba excepto que ahora utilizamos un truco especial donde leer el valor analógico de un voltaje de referencia fijo en el chip y luego usarlo para hacer un cálculo preciso. Esto también significa que funcionará bien no importa de qué voltaje está funcionando el Arduino!
TMP36 Variables de Pin
int sensorPin = 0; el pin analógico de TMP36 Vout (sentido) pin está conectado a
la resolución es de 10 mV / grado centígrado con un
500 mV compensación para permitir temperaturas negativas
#define BANDGAPREF 14 / especial indicador que queremos medir la energía de salto
/ * setup() - esta función se ejecuta una vez que cuando usted encienda su Arduino. Inicializamos la conexión serial con la computadora
*/
void setup()
{
Serial.Begin(9600); Iniciar la conexión serial con la computadora
para ver el resultado Abra el monitor serial
Delay(500);
}
void loop() / / ejecuta una y otra vez
{
obtener lecturas de tensión de la referencia del secreto interno 1.05V
int refReading = analogRead(BANDGAPREF);
Serial.println(refReading);
calcular la tensión de alimentación de la lectura de la conocida voltios 1,05
Float supplyvoltage = (1.05 * 1024) / refReading;
Serial.Print(Supplyvoltage); Serial.println ("V power supply");
obtener el voltaje del sensor de temperatura
lectura de int = analogRead(sensorPin);
conversión de esa lectura a tensión
voltaje del flotador = lectura * supplyvoltage / 1024;
Imprime la tensión
Serial.Print(Voltage); Serial.println ("v");
ahora imprimir la temperatura
Float temperatureC = (voltaje - 0.5) * 100; conversión de 10 mv por grado ingenio 500 mV offset
a grados ((volatge - 500mV) veces 100)
Serial.Print(temperatureC); Serial.println ("grados C");
ahora convertir a Fahrenheight
Float temperatureF = (temperatureC * 9 / 5) + 32;
Serial.Print(temperatureF); Serial.println ("grados F");
Delay(1000); espera un segundo
}