Adquisicion de datos a traves de serial o puerto paralelo

#1
Hola, que bien esta este foro, esta clase de grupo es lo que necesitamos

Les escribo para preguntar si alguien puede colaborarme con información para realizar la asquisicion de datos con PIC16F877, mediante serial o puerto paralelo y con programacion en Pic basic, me seria de muchisima ayuda.

Hasta luego y gracias
 
#2
Oiga, bueno, pues no creo que sea de mucha ayuda, ya que yo ando en lo mismo, en realidad tengo que diseñar una tarjeta de adquisicion de datos con el PIC16F877 a travez de puerto serie.. tengo un trabajo que me prestaron si quiere se lo paso...

Tambien me ayudaria todas las ideas o soluciones que usted pueda tener...

Eso si, no esta programado para PICBasic si no para MPLab que es el software que uso.
 
#3
yo se que es dificil conseguir esainformación y mas un programa que te genere una interfazentre la PC y el microcontrolador pero si no encontraras como hacerla tienes una opcion muy facil que en verdad a mi me funciono para salir del problema busca los microcontroladores PICAXE se programan mediante diagramas de flujo y no nesecitas quemador para programarlos solo es cuestion de un puerto serial y ademas la interfaz entre la PC y el micro se hace mas sencilla con un programita de Visual basic 6 y creeme que es mucho mas sencillo hacerlos funcionar asi aaaaaaa se me olvidaba ademas el circuito que te permite hacer la interfaz entre el micro y la PC es el MAX232 para que lo puedas conectar atravez del puerto serial ojala y esto les sea de ayuda
saludos.
 
#4
yo se que es dificil conseguir esainformación y mas un programa que te genere una interfazentre la PC y el microcontrolador pero si no encontraras como hacerla tienes una opcion muy facil que en verdad a mi me funciono para salir del problema busca los microcontroladores PICAXE se programan mediante diagramas de flujo y no nesecitas quemador para programarlos solo es cuestion de un puerto serial y ademas la interfaz entre la PC y el micro se hace mas sencilla con un programita de Visual basic 6 y creeme que es mucho mas sencillo hacerlos funcionar asi aaaaaaa se me olvidaba ademas el circuito que te permite hacer la interfaz entre el micro y la PC es el MAX232 para que lo puedas conectar atravez del puerto serial ojala y esto les sea de ayuda
saludos.
 
#5
Amigos, antes que nada, poco puedo hacer para ayudarles con el picbasic ya que yo programo en assembly de los PICs.

El punto en cuestión es que está pregunta está puesta en el foro de interfases, y tal vez el mejor lugar sea en el de sistemas embebidos.

Más alla de eso, cuales son los requerimientos? de velodidad, precision?

El programa correrá continuamente o habrá algo que le diga "empezá, detenete"...

Se leeran los 8 canales A/D del pic en cuestión o solo los que se distingan por el software exterior?

La interfaz con la pc es simple si la haces con el puerto serie, si utilizas el paralelo, ya dependes muuuucho más del tipo de puerto con que cuente tu pc.

Uno de los principales inconvenientes a la hora de empezar un proyecto, es tener bien en claro que es lo que se desea hacer.... sino , se harán numerosos reintentos, vueltas para atras, hasta incluso cambios en toda la programación!

Es por eso que les pido que aclaren bien que quieren hacer.
 
#6
Les escribo para preguntar si alguien puede colaborarme con información para realizar la adquisicion de datos con PIC16F877 o con dspic30f4013 y dspic30f6014, mediante puerto serial o puerto paralelo (configuracion hardware) y para ser programado en lenguaje c. asimismo quisiera saber con cual de ellos es mas facil trabajar?. y si se necesita de hardware y/o componentes adicionales para construir la interfase respectiva?. BUENO, LES ESCRIBO PORQUE NO ENCUENTRO INFORMACION AL RESPECTO. por favor, cualquier ayuda al respecto sera bienvenido. gracias.
 
#7
fgomezv1980 dijo:
Les escribo para preguntar si alguien puede colaborarme con información para realizar la adquisicion de datos con PIC16F877 o con dspic30f4013 y dspic30f6014, mediante puerto serial o puerto paralelo (configuracion hardware) y para ser programado en lenguaje c. asimismo quisiera saber con cual de ellos es mas facil trabajar?. y si se necesita de hardware y/o componentes adicionales para construir la interfase respectiva?. BUENO, LES ESCRIBO PORQUE NO ENCUENTRO INFORMACION AL RESPECTO. por favor, cualquier ayuda al respecto sera bienvenido. gracias.
Hola, en este foro alguien puclicó algo de como obtener datos.

Lo más fácil es el paralelo.

Busque ese tema, creo que esta bien explicado.

Saludos

Mire lo encontré
https://www.forosdeelectronica.com/f19/puerto-paralelo-entrada-2150/
 
#8
estoy haciendo un proyecto similar de fin de semestre pero soy novato y no se bien que hacer, a mi entrada de mi pic, en cualquiera de sus puertos meter una señal y esta enviarla a una computadora por medio del puerto serial y en la computadora graficar la señal de entrada del pic. estoy atorado en la parte de como enviar los datos por el puerto serial y como graficarlos en la pc.
 
#9
te agradeceria mucho si me remitieras el trabajo de adquisicion con pic 16f877, ando tbien en lo mismo y con muchas ganas de trabajar en esto o cualquier información que me puedas brindar, desde ya muchas gracias.
 
#10
hey! pues claro para eso es esta comunidad, tengo el codigo, lo que necesitas es un integrado llamado Rs232, es el que convierte el voltaje de salida del pic en voltaje TTL para el puerto serial.
El diagrama ya no lo tengo, pero es simple, pero he aqui el codigo que use, solo es configurar el PWM y el USART dentro del pic, alguna duda
 

Adjuntos

#13
Ya sabiendo que necesitam usar el max232 para la conversión de voltaje, les voy a dejar un ejemplo en C para el micro:

#include <16F877A.H>
#include <stdlib.H>
#use delay(clock = 20000000)
#fuses XT,NOWDT,NOPROTECT
#use rs232(baud=57600,xmit=PIN_C6,rcv=PIN_C7)


void main( void )
{
int sig, del;
//-----------------------------
del = 500;
//-----------------------------
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(ALL_ANALOG);
while(true)
{
//-----------------------------
set_adc_channel(0);
delay_ms(del);
sig = read_adc();
printf("Cha_0 = %x\n\r",sig);
delay_ms(del);
//-----------------------------
set_adc_channel(1);
delay_ms(del);
sig = read_adc();
printf("Cha_1 = %x\n\r",sig);
delay_ms(del);
//-----------------------------
}
}

COn eso ya envia lo que adquiere en el canal 0 y 1 al puerto serial
 
#14
Hola , como estan tengo un problema, programe en C un pic 16F877A logre la comunicacion por medio del Hyperterminal pero en la ventana de este deberia mostrar un titulo de tres lineas pero lo muestra en una sola linea . La pregunta es ¿Como hago para que el texto se vea en la ventana del Hyperterminal en tres lineas?. En la simulacion en el Virtual Terminal del Programa Proteus, si salen las tres lineas. Ahi adjunto mi programita el programa que utilizo es el PCWH Compiler.

------------------------------------------------------------------------------------------------------------------------------------------------
void main()
{
char c;
int m=0;
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

// TODO: USER CODE!

printf(" Proyecto \r ");// Problema
printf(" Estudiante: \r ");//Problema
printf(" PETER \r ");//Problema

while (1)
{
c=getchar();
output_D(m);
delay_ms(1000);
output_D(c);
}
}

Se supone que \r hace Enter o nueva linea y lo que sale en el Hyper es esto PETERiante

---------------------------------------------------------------------------------------------------------------------------------------------

Gracias.
 
#16
Tenes razon \n para el c tradicional, pero con PIc C compiler es \r, pero ya encontre la solucion Grabe en el micro una cadena de caracteres y con "puts" logre imprimir las lineas que queria.

Gracias
 
#18
puedes usar un microcontrolador QG8
programado en c lee una senal analoga y atravez de un max 232 hacia la pc utiliza labview si quieres tratar la senal sino solo veela en la hiperteminal
 
Arriba