SIK Experiment Guide for the Arduino 101/Genuino 101 Board (Spanish)
This Tutorial is Retired!
This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.
Experimento 9: Leer un sensor de temperatura
Introducción
Un sensor de temperatura es exactamente lo que indica su propio nombre: un sensor que se utiliza para medir la temperatura ambiente. En este experimento leerá el valor 0-1023 sin procesar del sensor de temperatura, calculará la temperatura real y, a continuación, la imprimirá en el monitor serie. ¿No sabe lo que es el monitor serie? Realice el experimento para averiguarlo.
Elementos necesarios
Necesitará los siguientes elementos:
- 1x placa de pruebas
- 1x placa Arduino 101 o Genuino 101
- 3 cables puente
- 1x sensor de temperatura TMP36
¿No tiene el SIK?
Si está realizando este experimento y no dispone del SIK, le sugerimos que use estos elementos:
También necesitará una placa Arduino 101 O Genuino 101.
Presentación del sensor de temperatura TMP36
El TMP36 es un sensor de temperatura de grados centígrados de precisión y baja tensión. Proporciona una salida de tensión que es linealmente proporcional a la temperatura Celsius. Además, no requiere ninguna calibración externa para proporcionar precisiones típicas de ±1 °C a +25 °C y de ±2 °C en el rango de temperatura de -40 °C a +125 °C. La tensión de salida se puede convertir fácilmente en la temperatura usando el factor de escala de 10 mV/°C.
Si mira la cara plana con texto, el pin central es el pin de señal, el pin izquierdo está conectado a la fuente de alimentación (3,3 V en este tutorial) y el pin derecho se conecta a tierra.
Consejo experto: el TMP36 se parece mucho a un transistor. Pinte un punto con esmalte de uñas en la parte superior del TMP36 para identificarlo fácilmente.
Conexión del hardware
¿Preparado para comenzar a conectar todo? Consulte el diagrama de cableado siguiente para ver cómo está conectado todo.
Componentes polarizados | Preste especial atención a las marcas de los componentes que indican cómo colocarlo en la placa de pruebas. Los componentes polarizados solo se pueden conectar a un circuito en una sola dirección. |
Tenga en cuenta lo siguiente: El sensor de temperatura solo puede conectarse a un circuito en una dirección. Vea a continuación los pines del sensor de temperatura TMP36.
Diagrama de cableado del experimento
Abrir el boceto
Abra el software IDE de Arduino en su ordenador. La codificación en el lenguaje de Arduino controlará el circuito. Abra el código del circuito 9; para ello, acceda a "101 SIK Guide Code" (Guía de códigos de SIK 101) que ha descargado y guardado en la carpeta "Examples" (Ejemplos) anteriormente.
Para abrir el código vaya a: File > Examples > 101 SIK Guide Code > Circuit_09 (Archivo > Ejemplos > Guía de códigos de SIK 101 > Circuito_09)
También puede copiar y pegar el siguiente código en el IDE de Arduino. Cárguelo y vea qué es lo que ocurre.
language:cpp
/*
SparkFun Inventor's Kit
Example sketch 07
TEMPERATURE SENSOR
Use the "serial monitor" window to read a temperature sensor.
This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
Visit http://www.arduino.cc to learn more about Arduino.
*/
//analog input pin constant
const int tempPin = 0;
//raw reading variable
int tempVal;
//voltage variable
float volts;
//final temperature variables
float tempC;
float tempF;
void setup()
{
// start the serial port at 9600 baud
Serial.begin(9600);
}
void loop()
{
//read the temp sensor and store it in tempVal
tempVal = analogRead(tempPin);
//print out the 10 value from analogRead
Serial.print("TempVal = ");
Serial.print(tempVal);
//print a spacer
Serial.print(" **** ");
//converting that reading to voltage by multiplying the reading by 3.3V (voltage of //the 101 board)
volts = tempVal * 3.3;
volts /= 1023.0;
//print out the raw voltage over the serial port
Serial.print("volts: ");
Serial.print(volts, 3);
//print out divider
Serial.print(" **** ");
//calculate temperature celsius from voltage
//equation found on the sensor spec.
tempC = (volts - 0.5) * 100 ;
// print the celcius temperature over the serial port
Serial.print(" degrees C: ");
Serial.print(tempC);
//print spacer
Serial.print(" **** ");
// Convert from celcius to fahrenheit
tempF = (tempC * 9.0 / 5.0) + 32.0;
//print the fahrenheit temperature over the serial port
Serial.print(" degrees F: ");
Serial.println(tempF);
//wait a bit before taking another reading
delay(1000);
}
Código a tener en cuenta
Serial.begin(9600);
Antes de usar el monitor serie, debe utilizar Serial.begin()
para inicializarlo. 9600 es la velocidad en baudios o la velocidad de comunicación. Cuando dos dispositivos se comunican entre sí, ambos deben tener la misma velocidad.
Serial.print(tempC);
El comando Serial.print() es muy inteligente. Puede imprimir casi todo lo que solicite, incluidas las variables de todos los tipos, texto entre comillas (es decir, "cadenas"), etc. Visite http://arduino.cc/en/serial/print para obtener más información.
Serial.println(tempF);
Serial.print()
imprimirá todo en la misma línea.
Serial.println()
pasará a la siguiente línea. Mediante estos dos comandos juntos, puede crear impresiones de texto y datos fáciles de leer.
Lo que debería ver
Debe poder leer la temperatura que detecta el sensor de temperatura en el monitor serie de IDE de Arduino. Si no funciona, asegúrese de que ha montado el circuito correctamente y que ha verificado y cargado código en la placa. De lo contrario, consulte la sección Solución de problemas.
Ejemplo de lo que debe ver en el monitor serie del IDE de Arduino:
TempVal = 223 **** Voltios: 0,719 **** Grados C: 21,94 **** Grados F: 71,48
TempVal = 224 **** Voltios: 0,723 **** Grados C: 22,26 **** Grados F: 72,06
TempVal = 224 **** Voltios: 0,723 **** Grados C: 22,26 **** Grados F: 72,06
TempVal = 224 **** Voltios: 0,723 **** Grados C: 22,26 **** Grados F: 72,06
TempVal = 224 **** Voltios: 0,723 **** Grados C: 22,26 **** Grados F: 72,06
TempVal = 224 **** Voltios: 0,723 **** Grados C: 22,26 **** Grados F: 72,06
TempVal = 223 **** Voltios: 0,719 **** Grados C: 21,94 **** Grados F: 71,48
TempVal = 223 **** Voltios: 0,719 **** Grados C: 21,94 **** Grados F: 71,48
Solución de problemas
No sucede nada
Este programa no tiene ningún indicador de que esté funcionando. Para ver los resultados, debe abrir el monitor serie del IDE de Arduino (instrucciones en la página anterior).
No aparece nada con sentido
Esto sucede porque el monitor serie está recibiendo datos a una velocidad diferente a la esperada. Para corregir esto, haga clic en el cuadro desplegable "*** baud" (*** baudios) y cámbielo a "9600 baud" (9600 baudios).
El valor de la temperatura no cambia
Intente pellizcar el sensor con los dedos para calentarlo o ponga una bolsa de hielo encima para enfriarlo.
El sensor de temperatura está muy caliente
Debe haberlo conectado al revés. Desconecte la placa Arduino inmediatamente, deje que el sensor se enfríe y vuelva a revisar el cableado. Si lo ha hecho lo suficientemente pronto, es probable que el sensor no se haya dañado y pueda funcionar.