Publicado el Deja un comentario

44. Mostrar temperatura

Hoy vamos a interactuar con el mundo real tomando datos de la temperatura gracias a un sensor TMP36 y mostrando este valor en el monitor serie de Arduino.

Material necesario

  • Sensor TMP36
  • 5 cables M-M

Montaje del circuito

Es extremandamente sencillo el montaje de este circuito, mira la lección del sensor de temperatura TMP36 y monta el circuito tal y como viene explicado allí.

Sketch «Sensor de temprearura.ino«

Quiero que te fijes muy atentamente en la diapositiva y copies el sketch a tu IDE de Arduino y le des el nombre «Sensor-de-temperatura.ino«. Una vez hecho analicemos las tres partes del sketch.

  • En la primera parte declarativa creamos una variable llamada val que almacenará el valor leído por el pin analógico A0 y posteriormente declararemos la variable temp que nos servirá para manipular el valor val y convertirlo a un valor en grados centígrados (o Celsius) para luego ser mostrado en el monitor serie.
  • En la parte de configuración setup() sólo necesitaremos abrir el puerto serie como vimos ayer.
  • En la parte del bucle loop() realizaremos la lectura puntual de la temperatura con la función analogRead(0) y la mostraremos en el monitor serie con la función Serial.print().

El resultado de ejecutar este programa será la toma de temperatura continua y su muestra en la pantalla del ordenador gracias al monitor serie. De forma puramente didáctica se muestran dos valores por línea, el valor leído por el sensor TMP36 y su conversión a grados centígrados.

val = analogRead (0);

Esta línea de código sirve para recibir en la variable val la lectura de la pata 2 del sensor de temperatura al pin A0 de Arduino. Como es una lectura analógica su valor sabemos que estará en el rango 0-1023.

temp = (val/1024.0) * 5.0;
temp = (temp-0.5) * 100;

En estas líneas del sketch hacemos un mapeo del rango 0-1023 de entrada al rango de temperaturas del sensor, un rango más extenso que el que proporciona el sensor, pero que encaja para que muestre los resultados correctamente con un pequeño margen de error.

Puedes obtener información adicional del datasheet (hoja de datos) del fabricante del sensor.

¿Cuál es la diferencia entre las funciones Serial.print() y Serial.println()?


¡Deja un comentario! Todas las críticas son bienvenidas.