[AJUDA] GRAFICO LINHA COMUNICACAO SERIAL

HUGOBAV 10/08/2012 00:47:00
#407638
Olá, senhores
Estou com uma dificuldade para criar gráficos no VB2010 e C#2010, na verdade não sei nem por onde começar, pois todos os exemplos que eu vejo estão longe do que eu gostaria de fazer...
Estou comunicando com microcontroladores e não tenho dificuldades com a comunicação serial.
Agora eu quero ler os valores da porta serial de um sensor de temperatura, por exe e jogar em um gráfico de linha em função do tempo.

O que eu quero se semelha a isso: http://www.youtube.com/watch?v=lzzITR_NQck&feature=plcp

Por onde devo começar??

Muito Obrigado!!
MARCELO.TREZE 10/08/2012 13:00:39
#407680
Bom colega esta duvida é para vb.net, e não vb6, mas veja estes links

http://www.macoratti.net/10/09/vbn_graf.htm

http://www.macoratti.net/10/09/vbn_graf2.htm

basicamente se vc não tem problema com a caputra dos dados é só informar os valores em X e Y do grafico.

HUGOBAV 10/08/2012 15:27:40
#407713
Obrigado, Marcelo, vou tentar aptar...
Se mais alguém tiver exemplos vai me ajudar muito.
HUGOBAV 11/08/2012 13:30:49
#407770
Consegui adaptar o gráfico pra mostrar valores recebidos da serial!!
Agora preciso de outra ajuda...

Como é atribuído valores no gráfico continuamente o gráfico vai acumulando esses valores até ficar inlegível...
Como eu posso fazer com que o gráfico se desloque para o lado a medida um valor é atribuído a ele? um exemplo seria o medidor de desempenho de processador no Gerenciador de tarefas do windows ou o próprio link do vídeo que eu postei no primeiro post.

Muito Obrigado.
MARCELO.TREZE 13/08/2012 12:00:42
#407832
Resposta escolhida
Bom falando da lógica do grafico, o grafico recebe dois valores (X e Y)

Y |
|
|______X


então se vc colocar o comando em um timer que vai ficar recebendo os dados , e X for aumentando então supostamente o tamanho do grafico vai aumentando.

como ficou o código? a questao deve estar ai


HUGOBAV 13/08/2012 12:52:48
#407837
E então , Marcelo, já estou conseguindo fazer o gráfico normalmente, porem ao invés do gráfico ir aumentando ou se deslocar para o valor a medida que vai recebendo valores, ele fica do mesmo tamanha e acumulando os valores junto com a linha até ficar inlegível.
Assim qeu eu chegar em casa eu posto o código.

Mas de cabeá está assim:
não sei os códigos de cabeça, mas a logica é essa:


dentro de um Timer {

chart1.add(y) // onde y é o SerialPort1. ReadLine, eu só add o y, pq o x é o time e esse é o único comando para atualizar o gráfico.

}

Assim que eu chegar em casa eu posto o código.


Muito obrigado pela atenção
HUGOBAV 14/08/2012 15:44:15
#407933
Consegui o efeito desejado....


Citação:

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick

Chart1.Series(0).Points.AddY(y) [txt-color=#e80000]//adiciona o valor y, pois o x foi configurado para automático[/txt-color]

If Chart1.Series(0).Points.Count > 50 Then [txt-color=#e80000] [ô][ô]Assim que é inserido 50 pontos de y, apagar o primeiro ponto. Isso faz com que o gráfico não acumule e fiquei inlegível[/txt-color]
Chart1.Series(0).Points.RemoveAt(0)
End if
End Sub




Marcelo, muito obrigado pela sua atenção!
um forte abraço
MARCELO.TREZE 15/08/2012 11:24:02
#407972
disponha colega não esquece de encerrar, e na proxima duvida não esqueça que deverá postar em VB.NET ok
HUGOBAV 15/08/2012 12:03:08
#407974
Pode deixar. obrigado!
encerrado!
att
Tópico encerrado , respostas não são mais permitidas