Autor Tema: Problemas con lm35  (Leído 2125 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado cdistri

  • PIC10
  • *
  • Mensajes: 24
Problemas con lm35
« en: 12 de Enero de 2009, 13:24:36 »
Hola

Estoy realizando un proyecto en el cual con un lm35 me lee la temperatura y me la muestra en un lcd ( segun la temperatura tiene que hacer una serie de cosas ) pero no logro que me muestre nada en el lcd por lo que no puedo seguir haciendo nada mas.

Os pongo el codigo que estoy utilizando y el proyecto en proteus para ver si me podeis hechar una mano con este problema.

Estoy usando Microbasic y proteus.

A ver si me podeis ayudar

Un saludo

Desconectado Chrisbaf

  • PIC16
  • ***
  • Mensajes: 178
Re: Problemas con lm35
« Respuesta #1 en: 12 de Enero de 2009, 18:11:43 »
seguro que esto es lo que buscas

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Problemas con lm35
« Respuesta #2 en: 12 de Enero de 2009, 18:45:05 »
Hola creo que con esa respuesta ya el caso esta mas que solucionado.

Saludos.
Atten.
Alexander Santana.
Anzoategui-Venezuela
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado cdistri

  • PIC10
  • *
  • Mensajes: 24
Re: Problemas con lm35
« Respuesta #3 en: 13 de Enero de 2009, 17:52:16 »
Hola

Antes de nada gracias por las respuestas.
He estado buscando mas informacion con respecto a los medidores de temperatura y he visto que uno de los que mejor funcionan es el ds1820.
Mirando varios codigos hechos en mikrobasic he conseguido hacer uno. Mi problema es que funcionar funciona y sale informacion por el lcd pero me sale 0 .0 ºC. La verdad no se porque puede ser, por mas vueltas que le doy al codigo no consigo saber donde esta el fallo.

Este es el codigo utilizado:

program DS1820

dim i, j1, j2 as byte
    text      as string[6]
    tmp_sign  as byte

main:

text ="Temp:"
adcon1=255
PORTA =255
PORTB=0
TRISA=255
TRISB=0

Lcd_Init(PORTb)
lcd_config(portb,7,6,5,4,portb,0,1,2)
Lcd_cmd(LCD_CURSOR_OFF)
lcd_out(1, 1, text)
lcd_chr(2, 12, 223)
lcd_chr(1, 13, "C")

While TRUE

      ow_reset(PORTA, 5)
      OW_WRITE(PORTA, 5, $CC)
      OW_WRITE(PORTA, 5, $44)

      DELAY_US(120)

      i=ow_reset(PORTA, 5)

      OW_WRITE(PORTA, 5, $CC)
      OW_WRITE(PORTA, 5, $BE)

      j1=ow_read(PORTA, 5)
      j2=ow_read(PORTA, 5)

     j2=(j1 and $01)*5
     j1=j1>>1

     ByteToStr (j1, text)
     lcd_chr(2, 7, tmp_sign)
     lcd_chr(2, 8, text[1])
     lcd_chr(2, 7, text[2])
     lcd_chr(2, 10, 46)
     ByteToStr (j2, text)
     lcd_chr(2, 11, text[2])
     Delay_ms(500)
wend

end.

Mañano adjunto el proyecto en proteus ya que no lo tengo aqui a ver si me falla algo del diseño de proteus.

A ver si alguien me pudiera hechar una mano con este tema.

Un saludo


 

anything