El mismo lo que hace es tomar los niveles de tensión de sus canales análogos y enviarlos por serie a la pc, de esta forma se pueden armar tablas temporales que permiten generar estadísticas sobre las mediciones tomadas.
El funcionamiento es en base al micro-controlador PIC16F876A (se podría usar otro que tenga ADC) el mismo toma los valores a medir en cada uno de sus 5 canales ADC luego los procesa para enviarlos por el puerto serial, en el circuito se incluye el conversor TTL/232 para la correcta comunicación con el ordenador.
Con cualquier programa receptor de 232 se pueden extraer los datos de la placa.
La configuración RS232 de esta placa es: 9600-8-N-1-H
A continuación se dejara el circuito, pcb y programa.
#device adc=10
#FUSES XT,NOWDT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N)
#define LED0 PIN_C0
void main(){
int16 q,r,j,a,c;
float p,o,k,b,d;
setup_adc_ports(all_analog);
setup_adc(ADC_CLOCK_DIV_2);
while(TRUE){
set_adc_channel(0);
delay_us(10);
q=read_adc();
p=5.0*q/1024.0;
if(q==1)
p=0;
set_adc_channel(1);
delay_us(10);
r=read_adc();
o=5.0*r/1024.0;
if(r==1)
o=0;
set_adc_channel(2);
delay_us(10);
j=read_adc();
k=5.0*j/1024.0;
if(j==1)
k=0;
set_adc_channel(3);
delay_us(10);
a=read_adc();
b=5.0*a/1024.0;
if(a==1)
b=0;
set_adc_channel(4);
delay_us(10);
c=read_adc();
d=5.0*c/1024.0;
if(c==1)
d=0;
printf("V1: %02.3f - V2: %02.3f - V3: %02.3f - V4: %02.3f - V5: %02.3f \r", p,o,k,b,d);
delay_ms(20);
output_toggle(LED0);
}
}