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.

Pages
Contributors: D___Run___
Favorited Favorite 0

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:

Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$5.50
48
Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

PRT-12795
$2.10
2
Temperature Sensor - TMP36

Temperature Sensor - TMP36

SEN-10988
$1.60
18

También necesitará una placa Arduino 101 O Genuino 101.

Arduino 101

DEV-13787
9 Retired

Genuino 101

DEV-13984
Retired

Presentación del sensor de temperatura TMP36

texto alternativo

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.

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

texto alternativo

¿Tiene dificultades para ver el circuito? Haga clic en el diagrama de cableado para verlo más de cerca.

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

texto alternativo

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.