LusoRobótica - Robótica em Português

Software => Software e Programação => Tópico iniciado por: Marvin em 26 de Junho de 2013, 16:34

Título: Gerador de graficos por Porta Serie
Enviado por: Marvin em 26 de Junho de 2013, 16:34
Boa tarde,

Todos em alguma altura precisamos de gerar graficos para ver o comportamente em tempo real de alguns sensores ou até de funções.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fblog.dronetech.eu%2Fwp-content%2Fuploads%2F2013%2F06%2Fimage.png&hash=9fb2e9248eab2146a984d41684427d840437fe18)

Criei uma aplicação (windows apenas) com o intuito de facilitar essa visualização.

Basicamente, basta enviar uma string no formato CSV (elementos separados por virgula) para uma porta de serie e configurar na aplicação qual o porto, baud rate, formato, min, max e a escala de tempo.

Pode-se inclusive gravar a imagem do grafico e recolher os dados que ficam na caixa de texto a direita.

Para definir os eixos basta escrever o formato do CSV na seguinte forma: <indice_do_valor1>|<sensor1>,<indice_valor2>|<sensor2>...

Por exemplo:

os dados enviados são de um pitch e roll vem com o seguinte formato (pitch,roll) e o max e min são 180 e 0 respectivamente.

exemplo do output:
180,180
110,150
134,100
120,90

exemplo da string de formato:
0|pitch,1|roll

exemplo do grafico (os valores são outros):

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fblog.dronetech.eu%2Fwp-content%2Fuploads%2F2013%2F06%2Fimage_output.png&hash=c16c4bad97075aef4071e50641e4da4161beeaf5)

Podem fazer download da aplicação aqui: https://sourceforge.net/projects/dtserialchart/files/latest/download (https://sourceforge.net/projects/dtserialchart/files/latest/download)

Podem ver o codigo fonte aqui: https://github.com/Dronetech/DTSerialChart (https://github.com/Dronetech/DTSerialChart)

Podem ver mais informações e especificações aqui: http://blog.dronetech.eu/dronetech-serial-visualizer/ (http://blog.dronetech.eu/dronetech-serial-visualizer/)

Espero que vos seja util.

Alguma duvida ou sugestão de funcionalidade avisem.
Título: Re: Gerador de graficos por Porta Serie
Enviado por: tarquinio em 26 de Junho de 2013, 17:27
Porreiro é algo que de vez em quando dá jeito :)
Título: Re: Gerador de graficos por Porta Serie
Enviado por: maurosmartins em 27 de Junho de 2013, 01:47
Viva, ainda não experimentei, mas desde Ja parabéns pela aplicaçao e por Teres partilhado! cumprimentos, mauro
Título: Re: Gerador de graficos por Porta Serie
Enviado por: Njay em 27 de Junho de 2013, 01:55
Porreirote, boa partilha :D!
Título: Re: Gerador de graficos por Porta Serie
Enviado por: Sérgio_Sena em 27 de Junho de 2013, 09:20
Ehs o maior pah!
Excelente partilha aqui para o forum, de certeza que vai ajudar muita gente.
Título: Re: Gerador de graficos por Porta Serie
Enviado por: metRo_ em 27 de Junho de 2013, 15:42
boa ideia :)
Entre cada série de valores, basta enviar o caracter new line?
Título: Re: Gerador de graficos por Porta Serie
Enviado por: Marvin em 27 de Junho de 2013, 15:47
boa ideia :)
Entre cada série de valores, basta enviar o caracter new line?

Exacto. 

Embora se der erro tambem se pode colocar o carriage return para ser mais completo. \r\n no caso do C#.
Título: Re: Gerador de graficos por Porta Serie
Enviado por: pmj_pedro em 27 de Junho de 2013, 22:17
vai ter utilidade quando for medir a capacidade de uma celula de litihum ion
e posso assim grafico com V(t) com uma descarga de 1Amp
Título: Re: Gerador de graficos por Porta Serie
Enviado por: Marvin em 27 de Junho de 2013, 22:42
vai ter utilidade quando for medir a capacidade de uma celula de litihum ion
e posso assim grafico com V(t) com uma descarga de 1Amp

Sim, esta aplicação foi desenhada mesmo para esse tipo de implementação. Espero que funcione bem :)

Aconselho a colocar um ScaleX elevado para prevenir o grafico de fazer loop antes da descarga completa.


Título: Re: Gerador de graficos por Porta Serie
Enviado por: msr em 27 de Junho de 2013, 23:35
Não querendo de todo tirar-te o mérito, deixo mais duas sugestões de aplicações idênticas:
http://www.x-io.co.uk/serial-oscilloscope/ (http://www.x-io.co.uk/serial-oscilloscope/)
http://kst-plot.kde.org/ (http://kst-plot.kde.org/)
Título: Re: Gerador de graficos por Porta Serie
Enviado por: Marvin em 28 de Junho de 2013, 00:57
Não querendo de todo tirar-te o mérito, deixo mais duas sugestões de aplicações idênticas:
http://www.x-io.co.uk/serial-oscilloscope/ (http://www.x-io.co.uk/serial-oscilloscope/)
http://kst-plot.kde.org/ (http://kst-plot.kde.org/)

Não as conhecia, a 2ª tem analise e tudo, mto bom.

Quando precisei não encontrei nenhuma e foi mais rapido desenvolver uma aplicação do que continuar a procura. :D

Obrigado!
Título: Re: Gerador de graficos por Porta Serie
Enviado por: metRo_ em 28 de Junho de 2013, 01:16
Não querendo de todo tirar-te o mérito, deixo mais duas sugestões de aplicações idênticas:
http://www.x-io.co.uk/serial-oscilloscope/ (http://www.x-io.co.uk/serial-oscilloscope/)
http://kst-plot.kde.org/ (http://kst-plot.kde.org/)

Não as conhecia, a 2ª tem analise e tudo, mto bom.

Quando precisei não encontrei nenhuma e foi mais rapido desenvolver uma aplicação do que continuar a procura. :D

Obrigado!

O 2º é feito em Qt. Ia-te perguntar se não querias fazer em Qt, assim conseguia-se fazer multi-plataforma e até podia dar uma ajuda a adicionar funcionalidades :)
Título: Re: Gerador de graficos por Porta Serie
Enviado por: pmj_pedro em 28 de Junho de 2013, 05:21
vai ter utilidade quando for medir a capacidade de uma celula de litihum ion
e posso assim grafico com V(t) com uma descarga de 1Amp

Sim, esta aplicação foi desenhada mesmo para esse tipo de implementação. Espero que funcione bem :)

Aconselho a colocar um ScaleX elevado para prevenir o grafico de fazer loop antes da descarga completa.

Obrigado pela dica
Título: Re: Gerador de graficos por Porta Serie
Enviado por: Marvin em 28 de Junho de 2013, 11:17
O 2º é feito em Qt. Ia-te perguntar se não querias fazer em Qt, assim conseguia-se fazer multi-plataforma e até podia dar uma ajuda a adicionar funcionalidades :)

QT é uma opção bastante interessante. Infelizmente agora estou sem tempo para fazer o port da aplicação para QT, e como utilizei muitos objectos .net para a geração do grafico pode ser algo que consome um pouco de tempo.

Mas estou disposto a fazer isso assim que tiver um pouco de tempo, e partilho no github publico tal como fiz com este para se avançar com a colaboração!