Olá meus amigos garagistas, estou com um projeto aqui para enviou de 6 variáveis por I²c e uma rede de arduinos rsrsrs... Minha dúvida é de como fazer para mandar 6 variáveis, qual métodos vocês utilizam comumente ?

Agradeço

Exibições: 231

Responder esta

Respostas a este tópico

Você pode enviar 1 byte por vez.
Se cada sua variável for, por exemplo um numero inteiro entre 0 e 254, pode enviá-la de uma vez, variável por variável.

Nna verdade são numero em float. quando vc fala em enviar numero de cada vez, do outro lado (master) como ele iria identificar que pertence as variáveis (a,b,c,d,e,f).

Eu não sei como funciona os números float para enviar assim. Em um sistema eu precisava enviar numeros float eu os transformava em inteiros(ex: 3,78x100) para depois os transmitir.

Agora para identificar á qual variavel o valor pertence, existe várias maneiras. Uma delas é enviar o primeiro byte para fazer um endereçamento. Você envia 'a' e todo numero que chegar depois do 'a' pertence a esta variavel, e assim por diante. Já utilizei este método e funciona(só não sei se é o mais elegante).

Outro modo é enviar os valores todos de uma vez e depois usar a função string.length() para pegar caracter por caracter e colocar em strings separadas. Para fazer isso os valores enviandos devem sempre ter o mesmo tamanho em numero de casas decimais!

Agradeço amigo, será basicamente isso que preciso. você conseguiu fidelidade nos dados, falo a respeito do recebimento das informações

Sim funcionou perfeitamente. 

A comunicação entre os dois Arduinos, foi feita pelos pinos Analog 4 (SDA)  e pino Analog 5 (SCL) . 

Usei resistores de 4,7K ohms para pullup nas duas linhas  (conectados ao +5V) .

Não se esqueça de conectar os terras dos dois Arduinos.

Oi H, boa noite.
No arduino, um valor float é guardadon em um "room" de 32 bits (4 bytes), portanto se voce enviar
estes 4 bytes pelo I2C e recebe-los dizendo que são float, terá enviado um valor float via I2C.
Rui

Entendi, pelo visto terei que montar um vetor para receber estes dados, ou seja fazer uma alocação destes 4 bytes... vou preparar algo hoje a noite rsrs.

Agradeço a todos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço