Está en la página 1de 6

INSTITUTO TECNOLGICO DE MORELIA

DIVISIN DE ESTUDIOS PROFESIONALES

INGENIERIA EN INFORMATICA
ARQUITECTURA DE LAS COMPUTADORAS

SENSOR DE TEMPERATURA

Profesor: Narciso Ruiz Hernndez

EQUIPO:
Manuel Alfredo Guzmn Jaramillo
Leonel Alejandro Ferreira Anincera
Usiel Everardo Magaa Nambo
Sensor de temperatura
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.
Si la temperatura es igual o menor de 28 grados centgrados, se prendera el led
Verde. Si la temperatura es mayor de 28 grados y menor o igual a 35 grados
centgrados, se prendera el led Amarillo. Si la temperatura es mayor de 35 grados
centgrados se prendera el led Rojo
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, Centgrados, en una escala de 1 grado centgrado por
cada 10 mili volts.

Componentes

arduino
un protoboard
un sensor de tempeartura LM35
tres leds

Circuito

El circuito de este proyecto consta de dos partes. Por un lado el sensor de


temperatura y por otro, los leds que encenderemos cuando la temperatura pase de
un umbral.
El circuito con el sensor LM35 es muy simple. Es un componente con tres patas.
Vindolo 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.
El circuito del led es el mismo circuito que hemos venido utilizando en las prcticas
anteriores, en el cual va con su respectiva resistencia.
Imagen 1. Circuito led verde prendido.

Imagen 2. Circuito led amarillo prendido.


Imagen 3. Circuito led rojo prendido.

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 despus 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 mili
volts y despus convertimos este valor en mili volts a grados centgrados. Para
hacer esto, ya sabemos que cada grado centgrado es igual a 10 mili volts.
El resultado lo enviaremos por el serial, con un texto y el valor de la temperatura en
grados centgrados.
Con este mismo valor checaremos si es mayor que la temperatura umbral y de ser
as, con el cambio de temperatura que se causara con un encendedor domstico,
encenderemos el led.
const int pinSensor = A0; // pin del sensor de temperatura, va a
la pata central del sensor
const int pinLedV = 3; // pin para el led verde
const int pinLedR = 9; // pin para el led rojo
const int pinLedA =6; // pin para el led amarillo

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(pinLedV, OUTPUT);
pinMode(pinLedA, OUTPUT);
pinMode(pinLedR, 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 >= 24 && temperatura < 28){
digitalWrite(pinLedV,HIGH);
digitalWrite(pinLedA, LOW);
digitalWrite(pinLedR, LOW);
}
if(temperatura >= 28 && temperatura < 35)
{
digitalWrite(pinLedV, LOW);
digitalWrite(pinLedA, HIGH);
digitalWrite(pinLedR, LOW);
}

if(temperatura >= 35)


{
digitalWrite(pinLedV, LOW);
digitalWrite(pinLedA, LOW);
digitalWrite(pinLedR, HIGH);
}
delay(1000);
}
Referencias:

Referencia Arduino: analogRead()


Funcin para leer el estado de un pin analgico.

Referencia Arduino: Serial.begin()


Funcin para inicializar la biblioteca Serial y definir la velocidad de comunicacin.

Referencia Arduino: Serial.print()


Funcin para enviar por el puerto serial los datos. Con println(), enva tambin un
retorno de carro.

También podría gustarte