estou com dificuldade de criar um loop entre 2 arduinos

pensando em 2 arduinos A e b

A envia um comando para B,  após a conclusão do comando envia uma confirmação do comando feito de volta para A liberando A para enviar um novo comando

enquanto B aguarda um novo comando ele para todas suas atividades.

Exibições: 138

Responder esta

Respostas a este tópico

atualmente eu concateno todas as variáveis de comando em uma string e envio ai ou outro arduino separa e realiza  o comando

a comunicação em si n é o problema. esta pode n ser a melhor forma mas funciona para o que eu quero a dificuldade é fazer rodar em sequencia uma lista de comandos

Bom dia PCMGR.

Detalhe mais o formato do comando que A envia para B, a ação que B deve executar,

e o formato da resposta de B para A.

Anexe um arquivo contendo os code que você escreveu para cada Arduíno, mesmo que não funcionem.

Mas por favor, anexe. Não cole na área de texto.

RV

o padrão de comunicação que estou usando são 2:

C000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000,

e

S00000 000 000, 

no primeiro caso é a leitura de 8 sensores

e no segundo é o status deles e 2 números binários de 
a Resposta d b pra mim é indiferente só preciso saber se a tarefa foi feira 

Ola,

por base é algo relativamente simples. utilize um array para armazenar os comandos. Vou passar a ideia em "pseudo código"

const int i=10;
char comando[i] = "bla";
char comando[i] = "ble";
char comando[i] = "bli";

int cont = 1;

loop() {

   send(comando[i]);

   if receive(ok) {

       count++;

}

    

desculpe a demora n tive tempo para testar antes. desta forma funciona mas tive problemas com listas de comandos muito grandes com mias de 500 o arduino trava 

Isto problema deve estar relacionado ao uso de memoria. Verifique memorias totais, disponiveis e quanto essa array de comando esta usando.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço