Post on 25-Nov-2015
Termmetro con LM35, y aviso visual+ventilador a 3 velocidades
Termmetro con LM35, y aviso visual+ventilador a 3 velocidades.
Hoy vamos a disear y programar un pequeo circuito que nos mida la temperatura.En funcin de los valores obtenidos,tendremos el siguiente funcionamiento:
Si la temperatura es 25C activaremos una seal luminosa.
Si la temperatura es >30C activaremos la seal luminosa y un ventilador al 60%.
Si la temperatura es >37C activaremos la seal luminosa y el ventilador casi a mxima potencia.
El componente empleado para realizar lamedicines un sensor de temperatura LM35.Aqupodemos ver su patillaje:
Este es el esquema que he diseado para la prctica:
Para alimentar el sensor LM35 podremos utilizar la misma fuente de Arduino, que nos suministra 5 voltios Vdc. En cambio para alimentar el ventilador de PC, le alimentaremos con una fuente adicional de 12 Vdc.
El diodo Led de alarma simplemente le pincharemos en la patilla 13 y GNd de Arduino, ya que lleva una resistencia interna de 330 ohmios.
Funcionamiento:
La temperatura es ptima
La temperatura es >25C
La temperatura es >30
VdeoFuncionamiento:
Dentro del programa compilador en la seccion Tools>>Serial monitor, podremos visualizar la temperatura atravsdel puerto serie.
SKETCH://Lectura de temperatura mediante un sensor del tipo LM35, y aviso visual con un ventilador a 3 velocidades.
// el programa medir la temperatura y en funcin de los valores, activara un led de alarma o activara un ventilador a varias velocidades
int pinTemperatura = 2;// daremos el nombre al pind e temperatura
int ledpin1 = 13;
int rele = 12;
int tempValor ; // La variable donde se almacena la temperatura
void setup()
{
Serial.begin(9600); // Activamos el puerto serie para visulizar y definimos los pin 13 y 12 como salida
pinMode(ledpin1, OUTPUT);
pinMode(rele, OUTPUT);
}
void loop()
//bucle
{
//mediante la siguiente encuacion transformaremos la lectura analgica en un valor de temperatura almacenado en la variable tempValor
tempValor = ( 5.0 * analogRead(pinTemperatura) * 100.0) / 1024.0;
// la funcion serial.print Impreme el valor en el puerto serie
Serial.print("La Temperatura en este momento es de: (Celsius) = ");
Serial.println(tempValor);
// el delay es para medir la temperatura cada segundo
delay (1000);
int i= 0;
analogWrite(rele,i); // el ventilador estar apagado ya que i=0
if(tempValor>25)// cuando la temperatura alcanza 25 grados se activa la alarma visual, ventilador apagado.
{
digitalWrite(ledpin1,HIGH);
delay(500);
digitalWrite(ledpin1,LOW);
if(tempValor>30) // si la temperatura es mayor a 30 grados, se activa el ventilador al 60% aprox
{
int i = 150;
analogWrite(rele,i);
if(tempValor>37)// si la temperatura es mayor a 30 grados, se activa el ventilador al 85% aprox
{
int i = 215;
analogWrite(rele,i); //Recordemos que la funcion analogWrite toma valores entre 0 y 255.
http://todoelectrodo.blogspot.mx/2012/04/termometro-con-lm35-y-aviso.html_1457707733.bin