Envio de comando ao Arduino e recepção de dados via Serial

Boa tarde Garagistas.

Estou mandando uma comando ao Arduíno por uma string para executar o código do sonar HCSR04 e quero pegar a informação de distancia e trata-la em um while. Gostaria de saber como fazer pra acessar esta posição no array e tratar no while? A informação que o Arduino me manda é uma string concatenada com a distancia lida pelo ultrassom e o carácter de delimita a string do dado é um ";".Tenho uma função para Separar e pegar este dado num array, e outra pra mandar o comando para o Arduino.

Segue os dois codigos:

//Metodo que filtra informação vindas da serial do Arduino para analise de distancias
public void leituraDeSonar(string str)
{
int distancia = 0;

if (str != null && str.Length > 0 && str.IndexOf(";") > 0)
{
string[] vet = str.Split(';');
string naviosonar = vet[0];
distancia = Int32.Parse(vet[1]);
}
}

escreveNaSerialNavio01 = "NUSAPRO";//Comando Navio 01 acionar sonar de proa
enviaComandos(escreveNaSerialNavio01);//Escreve na serial
escreveNaSerialNavio01 = "";//Limpa a variavel

Se puder me ajudar a construir este while, fico grato.

Exibições: 385

Responder esta

Respostas a este tópico

Eduardo, segue o codigo de solicitação ao arduino e recepção da informação a ser tratada:

As solicitções que preciso de um retorno como a distancia de um sonar, é assim:

escreveNaSerialNavio01 = "NUSAPRO";//Comando Navio 01 acionar sonar de proa enviaComandos(escreveNaSerialNavio01); escreveNaSerialNavio01 = "";//Limpa a variavel

String recebeNaSerialNavio01 = ""; leituraDeSonar(recebeNaSerialNavio01);

A função "enviaComandos":

//Método que envia os comandos via serial ao Arduino

public void enviaComandos(String Comando)

{

if (SerialConexao.IsOpen == true) //porta está aberta

{

SerialConexao.Write(enviaComando); //envia o texto presente na variável "enviaComando"

}

}

e pra monitorar a resposta do arduino que vem pela serial, ja esta inclusa na rotina de conexão com a porta serial e fica monitorando e tratando os dados recebidos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço