TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: josefe en 21 de Agosto de 2012, 20:31:41

Título: Proyecto de termometro digital mas apagado de bonbillo
Publicado por: josefe en 21 de Agosto de 2012, 20:31:41
Buenas, He encontrado un muy buen proyecto sobre un termometro digital con un lm35, el problema que tengo es que he tratado de programar la funcion para que al llegar a ciertos grados centigrados me apague un bombillo de 100 watts. Les agradesco toda su ayuda.

Se emplea

-Sensor de Temperatura LM35

-PIC 16F877A

-XTal=4MHz

-R=100 Ohms

-R=10K Ohms

-C=0.1uF

-LCD=16x2

(http://4.bp.blogspot.com/-Wpyza0kjKf8/UDQZ49PcF2I/AAAAAAAAAQI/aB44Xcij_m0/s1600/Sin+t%C3%ADtulo.png)


Codigo
Código: [Seleccionar]
unsigned char ch;
unsigned int adc_rd;
char *text,*text1;
long tlong;
int i,j;
void main() {
  INTCON = 0;                             
  Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0);
  LCD_Cmd(LCD_CURSOR_OFF);
  LCD_Cmd(LCD_CLEAR);
  for(i=0;i<5;i++){
  LCD_Cmd(LCD_CLEAR);
  text = "INGENIERIA";
  LCD_Out(1,i,text);
  Delay_ms(100);
  }
  text1 = "ELECTRONICA";                   
  LCD_Out(2,3,text1);                     
  ADCON1     = 0x82;                       
  TRISA      = 0xFF;                     
  Delay_ms(1000);
  LCD_Cmd(LCD_CLEAR);

  text  = "Temperatura:";
   for(j=16;j>0;j--){
    LCD_Cmd(LCD_CLEAR);
    LCD_Out(1,j,text);                   
    Delay_ms(100);
    }

  while (1) {
    adc_rd  = ADC_read(2);               

    tlong = (long)adc_rd * 5000;           
    tlong = tlong / 1023 - 40;                 
    ch    = tlong / 1000;               

    if(ch==0)
    LCD_Chr(2,6,' ');
    else
    LCD_Chr(2,6,48+ch);               

    ch    = (tlong / 100) % 10;           

    LCD_Chr_CP(48+ch);
    ch    = (tlong / 10) % 10;             
    LCD_Chr_CP(48+ch);                     
    LCD_Chr_CP('.');

    ch    = tlong % 10;                   
    LCD_Chr_CP(48+ch);                     
    LCD_Chr_CP('C');
    Delay_ms(200);
  }
}

Título: Re: Proyecto de termometro digital mas apagado de bonbillo
Publicado por: MGLSOFT en 21 de Agosto de 2012, 22:15:40
Deberias comparar la temperatura, guardada en Tlong, con otra variable, si Tlong es mayor, apagas la salida del bombillo, si es menor la enciendes.
Para hacer estas comparaciones, puedes utilizar sentencias if-then.
Título: Re: Proyecto de termometro digital mas apagado de bonbillo
Publicado por: josefe en 22 de Agosto de 2012, 11:29:49
A muchas gracias, voy a probar y luego les cuento

Deberias comparar la temperatura, guardada en Tlong, con otra variable, si Tlong es mayor, apagas la salida del bombillo, si es menor la enciendes.
Para hacer estas comparaciones, puedes utilizar sentencias if-then.