LusoRobótica - Robótica em Português

Sistemas específicos => PIC => Tópico iniciado por: Arknum em 26 de Maio de 2010, 18:26

Título: Duvida - Ligar PIC ao PC
Enviado por: Arknum em 26 de Maio de 2010, 18:26
Como faço para ligar um pic, no meu caso 16f84, ao pc? para enviar dados e ver no pc.
Eu quando estudava fazia isso mas já não me lembro como fazia, o que me lembro é que o programa que via o que o pic enviava era o Hyper Terminal.
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: senso em 26 de Maio de 2010, 18:51
Precisas de ter uma porta serie para ligar a usart do pic ao pc, ou então um adaptador usb-serial, e depois precisas de configurar a usart do pic e depois é fazer printf()
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: Arknum em 26 de Maio de 2010, 18:54
Se utilizar RS232 preciso de um max232 não é?
existe uma alternativa que não envolva ter de ir comprar material?
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: Sérgio_Sena em 26 de Maio de 2010, 18:58
Podes sempre fazê-lo com um par de transistores e umas resistências. Mas precisas sempre de material.

E vais ter que fazer a porta série do PIC em software, o F84 não tem nada.
É por isso que já se falou em evoluires para outros mais capazes.
Não estou a dizer que o 84 não presta, nada disso....  estou a dizer que com os PIC mais completos, se faz um trabalho melhor e mais rápido.
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: Arknum em 26 de Maio de 2010, 23:54
Pois é tens razão, vou ler o teu manual asena para ver se evoluo um pouco mais para dar passos mais compridos.

Entretanto descobri aqui perdido um 16f877 e já vi que tem muito mais coisas que o f84, vai dar para, enquanto leio o manual, fazer umas experiencias.

Obrigado pela ajuda
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: Arknum em 28 de Maio de 2010, 17:48
Boas

Já comprei o max232 e fiz este esquema de ligações
http://www.rogercom.com/ (http://www.rogercom.com/)

e até utilizei o programa dele e tudo

programei o meu pic com este código
Código: [Seleccione]
#include <16F84.h>
#fuses hs,noprotect,nowdt
#use delay (clock=4000000)                                         // igual ao cristal
#use RS232(baud=2400, bits=8, parity=N, xmit=pin_b6, rcv=pin_b5)

char valor;

main()
{
while (1){
output_low(PIN_a1);
valor=getch();
output_high(PIN_a1);
delay_ms(10);
printf("%c",valor);
delay_ms(100);
}
}



E nada, não consegui ver nada nem no hyperterminal nem no programa que o site em cima fornece.

Já agora a ficha está ligada da forma que mostra o site.
Estou a fazer alguma coisa de mal?
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: r.mota em 29 de Maio de 2010, 11:33
Pois é tens razão, vou ler o teu manual asena para ver se evoluo um pouco mais para dar passos mais compridos.

Que manual é esse do asena? Agora fiquei curioso, podes-me indicar asena?
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: Arknum em 29 de Maio de 2010, 20:33
O manual está aqui

http://lusorobotica.com/index.php?topic=1041.0 (http://lusorobotica.com/index.php?topic=1041.0)
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: Sérgio_Sena em 31 de Maio de 2010, 10:12
Código: [Seleccione]
#include <16F84.h>
#fuses hs,noprotect,nowdt
#use delay (clock=4000000)                                         // igual ao cristal
#use RS232(baud=2400, bits=8, parity=N, xmit=pin_b6, rcv=pin_b5)

char valor;

main()
{
while (1){
output_low(PIN_a1);
valor=getch();
output_high(PIN_a1);
delay_ms(10);
printf("%c",valor);
delay_ms(100);
}
}



E nada, não consegui ver nada nem no hyperterminal nem no programa que o site em cima fornece.

Já agora a ficha está ligada da forma que mostra o site.
Estou a fazer alguma coisa de mal?


# estás seguro que o "printf" te configura uma porta série?

# o programa envia o q recebe da prta série, faz eco. Portanto, o q escreveres no teclado, ele vai reenviar para o PC.


Instala este programa TERMINAL (http://www.senaeng.com/files/terminal.exe), é muito bom.
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: Arknum em 31 de Maio de 2010, 12:15
Sim a ideia era fazer o eco, e faz, entretanto identifiquei o erro. O erro foi meu, em vez de ligar o rx ao pino 2 da ficha tinha ligado ao pino 4  :-[.

Quando chegar a casa vou experimentar o tal programa.

Obrigado asena
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: beirao em 10 de Junho de 2011, 08:48
Pegando neste tópico: quero ligar um 18f4520 ao pc. a ideia é enviar dados (valores de velocidade, por exemplo) para o PC e lá fazer uma aplicação em que mostre os valores, dê para fazer gráficos, etc. Numa fase mais avançada, até configurar o PIC através do PC.

Agora: comunico pelo UART através do hyperterminal, certo? Como aconselham a mostrar os resultados? Queria ter uma aplicação (para ficar bonitinho e tal) mas como vou buscar os dados ao hyperterminal? E qual a melhor maneira para fazer essa aplicação?

Obrigado :)
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: metRo_ em 10 de Junho de 2011, 09:30
Pegando neste tópico: quero ligar um 18f4520 ao pc. a ideia é enviar dados (valores de velocidade, por exemplo) para o PC e lá fazer uma aplicação em que mostre os valores, dê para fazer gráficos, etc. Numa fase mais avançada, até configurar o PIC através do PC.

Agora: comunico pelo UART através do hyperterminal, certo? Como aconselham a mostrar os resultados? Queria ter uma aplicação (para ficar bonitinho e tal) mas como vou buscar os dados ao hyperterminal? E qual a melhor maneira para fazer essa aplicação?

Obrigado :)

O hyperterminal é uma aplicação que te permite efectuar comunicação pela porta série mas a tua aplicação também o pode fazer não precisas do hyperterminal :) Por exemplo em C# há montes de exemplos e é bastante simples e até por aqui pelo forum há exemplos :)
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: senso em 10 de Junho de 2011, 09:59
Qualquer terminal abre a porta serial e lê, podes fazer um programa em C e usar a biblioteca serial ou com ou qualquer coisa assim parecida, não vais buscar os dados ao terminal, lês directo da porta.
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: beirao em 11 de Junho de 2011, 13:43
Hum ok. Obrigado ;)

Então agora pensando na aplicação, que linguagem aconselham para fazer uma aplicação bonitinha e que use os dados da porta serie para fazer uns graficos e tabelas?

obrigado!
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: senso em 11 de Junho de 2011, 13:58
Tens Qt em que usas C/C++ ou VIsual Studio.
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: beirao em 12 de Junho de 2011, 15:00
Hum ok... vou averiguar entao :)

thanks!
Título: Re: Duvida - Ligar PIC ao PC
Enviado por: msr em 13 de Junho de 2011, 01:50
Como já disseram, do lado do PIC é configurares a USART e utilizares o printf() ou mesmo funções criadas por ti (por exemplo usart_putc(), etc).

Do lado do PC: no windows eu gosto de usar C# por ja ter a classe "SerialPort" pronta a usar e é super simples. Tens também o Qt (C++) mas não tem nenhuma classe oficial para comunicação série (RS232). Existem algumas alternativas não oficiais, mas do que experimentei, nenhuma me agradou (qextserialport e QSerialDevice).