TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Mando31 en 23 de Mayo de 2009, 19:31:15

Título: Ayuda con termometro con DS18S20
Publicado por: Mando31 en 23 de Mayo de 2009, 19:31:15
Hola compañeros pues estoy haciendo un proyecto en el que es necesario capturar la temperatura de 2 sensores DS18S20 tengo entendido que es posible comunicar varios de estos sensores al pic usando solo un cable ya pudo capturar la temperatura usando un solo sensor pero como podria hacer para capturar 2 temperaturas de 2 sensores, también tengo entendido que cada uno de estos sensores tiene un numero de serie de 64 bits  y que con este número es con el que puedo identificar a casa sensor, ahora quisiera ver si alguno a trabajado con estos sensores de la forma en que les describí, aquí un diagrama de como es la conexión.

(http://img42.imageshack.us/img42/3769/ds18s20n.jpg)

Cabe mencionar que las librerías usadas para esto son 1wire.c y ds1820.c, librerías posteadas aqui (http://www.todopic.com.ar/foros/index.php?topic=19691.0)
Título: Re: Ayuda con termometro con DS18S20
Publicado por: darck_khronos en 23 de Mayo de 2009, 23:33:50
yo tengo aqui uno que esta hecho con un lm35 ya seria de que tu lo acoples a lo que necesitas

#include "16f876.h"
#device adc=10
#fuses XT,NOWDT
#use delay(clock=4000000)
#include <math.h>                //Necesaria para los cálculos matemáticos
#include <lcd.c>

void main() {
   float tv,tr,temp,y;                 //Variables de ecuación
   int16 value;
   lcd_init();
   setup_port_a( ALL_ANALOG );
   setup_adc( ADC_CLOCK_INTERNAL );
   set_adc_channel( 0 );
   delay_us(10);
   do {
      value = Read_ADC();
      tv = 5.0 * value / 1024.0;
      tr = tv * 10000.0 / (5.0 - tv);
      y = log(tr/20000.0);
       y = (1.0/298.15) + (y *(1.0/4050.0));
      temp=1.0/y;
      temp = temp -273.15;
      printf(lcd_putc,"\nT = %04.2fC", temp);
   } while (TRUE);
}
Título: Re: Ayuda con termometro con DS18S20
Publicado por: MLO__ en 24 de Mayo de 2009, 15:23:03
Hola.

Lo unico que debes hacer es buscar la ROM del sensor primero, eso se hace con el codigo 0xF0, debes fijar la direccion del sensor con 0x33 de ahi realizas la conversion y lees.

Saludos
Título: Re: Ayuda con termometro con DS18S20
Publicado por: Mando31 en 25 de Mayo de 2009, 22:39:27
Hola MLO__ tendrás algún código ejemplo te lo agradecería mucho  :mrgreen:
Título: Re: Ayuda con termometro con DS18S20
Publicado por: MLO__ en 26 de Mayo de 2009, 01:09:26
Hola.

En el datasheet esta el procedimiento:

(http://img12.imageshack.us/img12/8697/ds18s20.png)

Saludos