You are on page 1of 5

http://arduineando.matem.unam.

mx/proyectos/sensorTemperatura

Un sensor de temperatura
- componentes - circuito - diagrama - cdigo - variantes - referencias - otros -

En este proyecto vamos a usar un sensor de temperatura. El valor de


la temperatura lo enviaremos a la computadora por el serial y a partir
de un umbral de temperatura, encenderemos un led.
Como sensor de temperatura usaremos el LM35, un circuito integrado
que nos devuelve un voltaje linealmente dependiente de la
temperatura. El sensor ya est calibrado en grados Celsius,
Centigrados, en una escala de 1 grado centigrado por cada 10
milivolts.
- al inicio

Componentes
arduino

un protoboard

un sensor de tempeartura LM35

un led

- al inicio

Circuito
El circuito de este proyecto consta de dos partes. Por un lado el
sensor de temperatura y por otro, el led que encenderemos cuando la
temperatura pase de un umbral.
El circuito con el sensor LM35 es muy simple. Es un componente con
tres patas. Viendolo de frente, tenemos que alimentarlo con un voltaje
de 5 Volts por la pata izquierda. La pata derecha es la pata que va a
tierra. Y la pata central es la que nos da el voltaje analgico
proporcional a la temperatura, voltaje que despus convertiremos a la
temperatura correspondiente. Para mayor informacin consulta la
hoja de especificaciones de este sensor.
El circuito del led es el mismo circuito que hemos venido utilizando en
otros proyectos.
- al inicio

Diagrama
- al inicio

Cdigo
En el cdigo de este proyecto vamos a leer el valor del sensor con la
funcin analogRead(). Este valor, lo convertimos al voltaje
correspondiente y despues al valor de la temperatura.
Para hacer la conversin usaremos nmeros de punto flotante, para
tener mayor precisin, aunque en este caso podramos usar enteros.
Para hacer la conversin, primero convertimos el valor obtenido del
sensor a milivolts y depues convertimos este valor en milivolts a
grados centigrados. Para hacer esto, ya sabemos que cada grado
centigrado es igual a 10 milivolts.
El resultado lo enviaremos por el serial, con un texto y el valor de la
temperatura en grados centigrados.
Con este mismo valor checaremos si es mayor que la temperatura
umbral y de ser as, encenderemos un led.
/*

En este proyecto utilizaremos un sensor de temperatura LM35

Si la temperatura pasa de un valor umbral, encendemos un led


*/

const int pinSensor = A0; // pin del sensor de temperatura,


va a la pata central del sensor
const int pinLed = 9; // pin para el led

const int umbral = 20; // umbral de la temperatura, ya


en grados centigrados

int valorSensor = 0; // variable para guardar el valor


leido del sensor

float temperatura = 0; // variable para guardar la


temperatura

void setup() {
// declaramos el pin del Led de salida
pinMode(pinLed, OUTPUT);
//inicializamos la comunicacion serial
Serial.begin(9600);
}

void loop() {
// leemos el valor del sensor
valorSensor = analogRead(pinSensor);
// este valor lo convertimos a milivolts
float milivolts = (valorSensor / 1023.0) * 5000;
// y lo convertimos a grados centigrados
// 1 grado centigrado = 10 milivolts
temperatura = milivolts/10;

Serial.print("La temperatura es de: ");


Serial.print(temperatura);
Serial.println(" grados centigrados");

// comparamos el valor de la temperatura con el umbral


if (temperatura > umbral){
digitalWrite(pinLed, HIGH);
} else {
digitalWrite(pinLed, LOW);
}
delay(1000);
}

- al inicio

Variantes
Podriamos usar un led RGB en lugar de un led normal y definir dos
umbrales, para asi usar los tres colores en tres rangos de
temperatura.
Podrias tambin desplegar la temperatura en grados Fahrenheit.
- al inicio
Referencias:
Arduino Reference: analogRead()
Referencia Arduino: analogRead()
Funcin para leer el estado de un pin analgico.

Arduino Reference: Serial.begin()


Referencia Arduino: Serial.begin()
Funcin para inicializar la biblioteca Serial y definir la velocidad de comunicacin.

Arduino Reference: Serial.print()


Referencia Arduino: Serial.print()
Funcin para enviar por el puerto serial los datos. Con println(), enva tambien un
retorno de carro.
- al inicio

You might also like