Autor Tema: Ayuda con termometro con DS18S20  (Leído 2897 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Mando31

  • PIC10
  • *
  • Mensajes: 32
Ayuda con termometro con DS18S20
« 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.



Cabe mencionar que las librerías usadas para esto son 1wire.c y ds1820.c, librerías posteadas aqui
« Última modificación: 23 de Mayo de 2009, 20:34:12 por Mando31 »

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: Ayuda con termometro con DS18S20
« Respuesta #1 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);
}

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Ayuda con termometro con DS18S20
« Respuesta #2 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
El papel lo aguanta todo

Desconectado Mando31

  • PIC10
  • *
  • Mensajes: 32
Re: Ayuda con termometro con DS18S20
« Respuesta #3 en: 25 de Mayo de 2009, 22:39:27 »
Hola MLO__ tendrás algún código ejemplo te lo agradecería mucho  :mrgreen:

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Ayuda con termometro con DS18S20
« Respuesta #4 en: 26 de Mayo de 2009, 01:09:26 »
Hola.

En el datasheet esta el procedimiento:



Saludos
El papel lo aguanta todo