Vimos anteriormente como utilizar os dados enviados pelo arduino no ZEDGRAPH, agora iremos criar um programa em Visual C#, para formatar os dados.
Você poerá utilizar o programa exemplo em C# anterior para fazer um “managed” de suas portas com.
private void serialPortArduino_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
int bytesToRead = serialPortArduino.BytesToRead;
if (bytesToRead >= 13)
{
char[] z = new char[13];
serialPortArduino.Read(z, 0, 13);
string n = new string(z);
ProcessReceivedData(n);
}
}
Código para receber dado do Arduino via Serial. Observe que os dados vão se agrupando em um vetor conforme chegam ao buffer.
delegate void SetTextCallback(string text);
private void ProcessReceivedData(string text)
{
if (this.zedGraphControlTemperature.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(ProcessReceivedData);
this.Invoke(d, new object[] { text });
}
else
{
temperatureData.Add(GetActualTimeInDouble(),
ConvertToCelsius(Convert.ToDouble(text.Split(':')[1])));
zedGraphControlTemperature.AxisChange();
zedGraphControlTemperature.PerformAutoScale();
zedGraphControlTemperature.Refresh();
}
}
Função esta que trata o dado recebido pelo Arduino na Serial, já armazenada em vetor. Utiliza do componente ZEDGRAPH para tal.
Previa do programa trabalhando! Não reparem o som (de ótima qualidade, rs)
Código Fonte Projeto pronto:
TemperatureLogger v0.1 (Código fonte)
Executável da aplicação:
TemperatureLogger v0.1
Código fonte para o Arduino:
TemperatureLogger v0.1 (Archivo fuente para el IDE de Arduino)
Créditos para:


Qual é o nome dessa musica? =)
ResponderExcluir