LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: nunosilvarocha em 10 de Janeiro de 2010, 17:01

Título: Como ler dados em excel pela porta COM
Enviado por: nunosilvarocha em 10 de Janeiro de 2010, 17:01
Hoje como esta frio decidi pegar no arduino e fazer dele um termómetro.
Depois reparei que seria giro transportar esses dados para uma folha excel e construir um gráfico!!
A minha duvida e como ler os dados da porta USB (COM9 no meu caso) para poder construir o tal gráfico!!
Título: Re: Como ler dados em excel pela porta COM
Enviado por: Tayeb em 10 de Janeiro de 2010, 17:36
O seguinte link poderá dar-lhe as dicas necessárias:

http://www.microlink.co.uk/rs232.html (http://www.microlink.co.uk/rs232.html)

Título: Re: Como ler dados em excel pela porta COM
Enviado por: nunosilvarocha em 10 de Janeiro de 2010, 18:17
pois, ler os dados da porta COM eu consigo, mas como ponho isso no EXCEL para poder construir gráficos e tabelas a fim de analisar os dados??
Título: Re: Como ler dados em excel pela porta COM
Enviado por: ricardo-reis em 10 de Janeiro de 2010, 18:54
és capaz de ter que fazer uma aplicaçãozita pra fazer a interacção entre o que recebes da com e o excel.. C# ou VB são boas opções, suponho.
Título: Re: Como ler dados em excel pela porta COM
Enviado por: Njay em 10 de Janeiro de 2010, 19:37
Há uma maneira simples e directa que é criar um CSV, mas não permite fazer a coisa "em tempo real", isto é, é preciso criar o CSV e depois abrir o CSV.
O CSV é um ficheiro de texto com um formato simples. Se tiveres apenas 1 variável para mostrar, é só um ficheiro com 1 valor por linha, tipo:

25
24
24
25
...

Se tiveres vários valores por linha (várias colunas) então separas por ";":

12:00; 25
12:30; 24
13:00; 24
13:30; 25
...
Título: Re: Como ler dados em excel pela porta COM
Enviado por: nunosilvarocha em 10 de Janeiro de 2010, 20:18
E como crio um CSV??
Título: Re: Como ler dados em excel pela porta COM
Enviado por: microbyte em 10 de Janeiro de 2010, 20:29
Crias com qualquer programa... Um CSV não é mais do que um ficheiro de texto com sintaxe específica.

Aconselho a usares o Processing... É tudo o que precisas para fazeres o gráfico...

Ora vê isto:
http://ricardodias.wordpress.com/projectos-pessoais/central-de-temperatura/ (http://ricardodias.wordpress.com/projectos-pessoais/central-de-temperatura/)
Título: Re: Como ler dados em excel pela porta COM
Enviado por: msr em 10 de Janeiro de 2010, 20:38
No excel tens Visual Basic numa versão minimal que não sei se será suficiente para ler dados pela porta COM. Experimenta!

Em C# tens aqui um exemplo que te pode ajudar: http://bravomofo.blogspot.com/2009/12/talk-to-arduino-with-c.html (http://bravomofo.blogspot.com/2009/12/talk-to-arduino-with-c.html)
Esse programa envia dados para o Arduino. A unica coisa que terias que alterar era "serial.Write()" para "serial.Read()" e o inverso no código do Arduino.

Depois podes fazer o gráfico também em C#, utilizando GDI. Se ainda assim quiseres enviar os dados para o Excel penso haverem classes que te permitam faze-lo, é procurar no google.

Edit: escrevi ao mesmo tempo do microbyte. eu nao estou habituado a processing mas parece-me ser uma melhor opção neste caso!
Título: Re: Como ler dados em excel pela porta COM
Enviado por: StarRider em 10 de Janeiro de 2010, 21:13
Boas,

Assim de cabeça, podes fazer isso com alguma facilidade com um script em VB usando a interface
Comum Object Model (ora aqui esta um exemplo de uma verdadeira API).

Crias um instância de objectos COM (Comum Object Model, não confundir com "com" da porta) para
uma folha Excel e para a Porta Serie e depois usas as propriedades e métodos dos mesmos para ler
os dados da porta serie e espetar os mesmos na folha Excel.

Tens tudo aqui:
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx (http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx)
http://msdn.microsoft.com/en-us/library/wss56bz7(VS.80).aspx (http://msdn.microsoft.com/en-us/library/wss56bz7(VS.80).aspx)

Abraços
Paulo A.
Título: Re: Como ler dados em excel pela porta COM
Enviado por: Gilberto em 10 de Janeiro de 2010, 21:59
Podes usar o PLX-DAQ Data Acquisition for Excel gratuito da Parallax http://www.parallax.com/tabid/393/Default.aspx (http://www.parallax.com/tabid/393/Default.aspx)

Eles fornecem exemplos para o BS2, SX e Propeller, mas pode ser utilizado com qualquer uC que envie dados pela UART.

Depois de instalado nota-se q se trata apenas de um ficheiro Excel com script em VB como já foi dito. Também traz um ficheiro de ajuda que explica o formato (muito simples) dos dados a enviar pela porta COM. Ao abrir o ficheiro Excel é preciso activar macros senão não funciona.

Tive a experimentar com o Arduino... Funciona bem. Dá para visualizar os dados no gráfico em tempo real sem ter de fazer mais nada. Qq dúvida é só perguntar :D.
Título: Re: Como ler dados em excel pela porta COM
Enviado por: vicardosof em 01 de Março de 2010, 09:25
Eu uso VB para fazer essas intereções e acredicto que terás mais mobilidade ao gráfico.
O problema será ter de baixar o compilador.
Título: Re: Como ler dados em excel pela porta COM
Enviado por: Rebel em 01 de Março de 2010, 10:34
Vê lá se esta aplicação serve para o que tu queres: http://mikmo.dk/gobetwino.html (http://mikmo.dk/gobetwino.html)