TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: underwol2 en 02 de Mayo de 2010, 21:38:16

Título: termometro con lm35 y extractor
Publicado por: underwol2 en 02 de Mayo de 2010, 21:38:16
hola quisiera hacer un termometro con lm35 que active un relevo a determinada temperatura
alguien del foro tiene un ejemplo de un código escrito en c con pcw pic c  ojala que no sea muy largo es para  practica
ejemplo que si llega a 28 grados  active el relevo o (relay)
Título: Re: termometro con lm35 y extractor
Publicado por: MLO__ en 02 de Mayo de 2010, 22:04:26
Pues ....  :?

Para que micro sería?
Título: Re: termometro con lm35 y extractor
Publicado por: underwol2 en 02 de Mayo de 2010, 22:23:26
tengo el 16f873a en una placa de desarrollo queme arme para practicar y gualmente  tendria que cambiar el orden de los pines del pic  si es otro pic
Título: Re: termometro con lm35 y extractor
Publicado por: MLO__ en 02 de Mayo de 2010, 22:25:13
Que tienes hecho hasta ahora?
Título: Re: termometro con lm35 y extractor
Publicado por: underwol2 en 02 de Mayo de 2010, 22:34:05
tengo de guia este codigo adaptado al pic mela epasado jugando con el espero que todabia funcione

#include <16f873a.h>

#device adc=10 //Usa resolución de 10 bits
#use delay(clock=4000000)
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect

#define LCD_ENABLE_PIN PIN_C2
#define LCD_RS_PIN PIN_C0
#define LCD_RW_PIN PIN_C1
#define LCD_TYPE 2
#include <lcd.c>
#use standard_io (D)


void main (void)
{
float temper,medicion;

lcd_init();                //Inicia LCD
lcd_putc(" Termometro\n"); //Saca texto
lcd_putc(" con LM35");     //Saca texto
delay_ms(2000);
lcd_putc("\f");            //Limpia pantalla
lcd_putc("Temperatura\n"); //Saca texto
lcd_putc("actual");        //Saca texto
delay_ms(1000);
lcd_gotoxy(14,2);          //Acomoda cursor LCD
lcd_putc("oC");

while (1)
{

lcd_gotoxy(8,2); //Acomoda cursor LCD
lcd_putc(" ");   //Limpia ese sector de pantalla
lcd_gotoxy(8,2); //Acomoda cursor LCD


setup_adc (adc_clock_internal);

setup_adc_ports (all_analog);

set_adc_channel (0);   //Elige canal a medir RA0
delay_us (20);
medicion=read_adc ();  //Hace conversión AD
setup_adc (adc_off);   //Apaga ADC

temper=medicion*(0.48875); //Pasa binario a °C

//////////////////////////////////////////////////////////////////////////////////
// el "0.48875" sale de dividir 5/1023 y el resultado de eso multiplicarlo por 100
// el 5 sale de los 5 voltios aplicado a el voltage de referencia, los 1023 salen
// de los 10 bit de resolucion del conversor analogico digital que seleccionamos.
// Si utlizaramos la resolucion de 8 bist del conversor analogico digital, la
// formula fuera (5/255)*100 ya que con 8 bits el numero maximo posible es de 0-255
//////////////////////////////////////////////////////////////////////////////////

printf(lcd_putc,"%02.1f",temper); //xxx.x °C
delay_ms (1000);
}
}
Título: Re: termometro con lm35 y extractor
Publicado por: jhozate en 02 de Mayo de 2010, 23:15:29
tienes algun problema con ese codigo? Lo unico que falta seria la condicion para activar el relé.
Título: Re: termometro con lm35 y extractor
Publicado por: MLO__ en 02 de Mayo de 2010, 23:22:14
Hola.

La configuración del ADC habría que sacarla del while() y quitar la linea en la que apaga el ADC. Para encender el rele, basta con un if comparando el valor al que quieres que se active.

Saludos
Título: Re: termometro con lm35 y extractor
Publicado por: underwol2 en 03 de Mayo de 2010, 19:30:07
gracias por las respuestas podrían ayudarme con la parte del código lla que soy novato  y no manejo muy bien la programacion de pic y estoy aprendiendo a programar en c
Título: Re: termometro con lm35 y extractor
Publicado por: underwol2 en 06 de Mayo de 2010, 11:29:49
la solucion del problema  gracias alspersonas que me alludaron a solucionar
el codigo es el siguiente

temper=medicion*(0.48875); //Pasa binario a °C
if(temper>=28) // Pregunta si temper es igual 28
output_high(PIN_b0);// este pin activa el rele
else //sino
output_low(pin_b0);este pin apaga el  rele
Título: Re: termometro con lm35 y extractor
Publicado por: MLO__ en 06 de Mayo de 2010, 16:30:29
 :-/

Bien hecho!!!!!

Saludos