quarta-feira, 21 de setembro de 2016

Enviando informações pela porta serial em modo binário

Este exemplo é um programa em duas partes: uma é um programa que roda em um Arduino/Maple Mini, e a outra é um programa que roda em Processing. A parte legal do Processing é que você pode baixar a "IDE" dele, programar e executar o seu programa imediatamente, sem ficar escolhendo compilador nem escrevendo makefile. Na verdade ele roda por cima do Java, mas você não precisa se preocupar com nenhuma dessas coisas.

Vou só colocar o código aqui, porque ele é simples e é praticamente auto-explicativo.

Programa que vai rodar no Arduino/Maple Mini:


Programa que vai rodar no Processing:


A técnica utilizada é bem simples: todos os dados estão dentro de um struct, que por sua vez está dentro de um union. Como esse struct tem um tamanho fixo (28 bytes), o meu sistema mestre (rodando no processing) sempre recebe uma estrutura de dados correta, e é só transformar os bytes novamente em floats.
A seguir, duas demonstrações. Uma rodando em um Arduino, e a outra em um Maple Mini, transmitindo dados obtidos a partir de um MPU6050.

Reading data from #arduino in Processing

Um vídeo publicado por Ruy Jorje (@ruyjorje) em


Displaying data from mpu6050 accelerometer in processing #arduino

Um vídeo publicado por Ruy Jorje (@ruyjorje) em

Nenhum comentário:

Postar um comentário