TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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)
-
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);
}
-
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
-
Hola MLO__ tendrás algún código ejemplo te lo agradecería mucho :mrgreen:
-
Hola.
En el datasheet esta el procedimiento:
(http://img12.imageshack.us/img12/8697/ds18s20.png)
Saludos