Como "graficar" um acelerômetro com o Arduino

Escrito por rupinder dhillon | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como "graficar" um acelerômetro com o Arduino
Grafique os dados com cores da sua escolha (Ryan McVay/Photodisc/Getty Images)

Os acelerômetros são componentes eletrônicos que medem a aceleração, inclinação e vibração de um objeto conectado a eles. Você pode interpretar os dados fornecidos por eles conectando-os a um microcontrolador Arduino. O Arduino lê os valores dos pinos de saída e os transmite para um computador, que mostra os dados em forma numérica. Você também pode transmiti-los para um aplicativo de programação, como por exemplo o "Max/MSP" ou o "Processing", que os "graficará" em tempo real.

Nível de dificuldade:
Moderadamente desafiante

Outras pessoas estão lendo

O que você precisa?

  • Placa universal
  • Cabo
  • Cabo USB

Lista completaMinimizar

Instruções

    Conecte o acelerômetro ao Arduino

  1. 1

    Coloque o acelerômetro na placa com seus pinos em pistas separadas.

  2. 2

    Conecte os pinos do eixo do acelerômetro às entradas analógicas ou digitais do Arduino usando o cabo. Use uma entrada por pino. A folha de dados do acelerômetro lhe dirá quais pinos fornecem os dados dos eixos e se o fazem em forma analógica ou digital.

  3. 3

    Conecte o pino de alimentação do acelerômetro à saída de voltagem apropriada do Arduino usando um cabo. A folha de dados lhe dirá qual é a voltagem necessária.

  4. 4

    Conecte com um cabo o pino de aterramento do acelerômetro ao terminal de aterramento do Arduino.

  5. 5

    Conecte uma extremidade do cabo USB ao conector USB do Arduino.

  6. 6

    Conecte o outro extremo do cabo USB a uma porta USB do computador.

    Escreva o código do Arduino

  1. 1

    Crie variáveis para as entradas do Arduino conectadas às saídas do acelerômetro. Seu código ficará assim: int xPin = 2; int yPin = 3; As variáveis "xPin" e "yPin" correspondem aos pinos conectados às saídas X e Y do acelerômetro.

  2. 2

    Inicie uma comunicação serial entre o computador e o Arduino. Seu código pode ser o seguinte: void setup() { Serial.begin(9600); A primeira linha de código é requerida por todos os programas. A chave ("{") marca o começo do "setup". "Serial.begin(9600)" configura a comunicação a 9600 bits por segundo.

  3. 3

    Defina os pinos de entrada do Arduino usando um código como o seguinte: pinMode(xPin, INPUT); pinMode(yPin, INPUT); } Os pinos 2 e 3 do Arduino estão configurados agora como entradas. A chave ("}") marca o final do "setup".

  4. 4

    Defina variáveis para guardar os dados de entrada dos eixos e a aceleração. Seu código será assim: void loop(){ int pulseX, pulseY; int accelerationX, accelerationY; A primeira linha de código diz ao Arduino que o código embaixo consiste em funções que deverão ser executadas de forma repetida. O primeiro conjunto de números inteiros guardará os dados dos pinos de entrada, e o segundo conjunto guardará os cálculos de conversão dos dados de entrada em valores que representarão a aceleração.

  5. 5

    Leia os dados das entradas do Arduino e guarde-os nas variáveis apropriadas. Seu código se verá assim, se seu acelerômetro fornecer dados digitais: pulseX = pulseIn(xPin,HIGH); pulseY = pulseIn(yPin, HIGH); O código "pulseIn (xPin,HIGH)" diz ao Arduino que ele deve esperar para que o pino receba "HIGH" para começar a marcar o tempo. Quando o pino receber "LOW", o Arduino parará e guardará o valor obtido em "PulseX". A segunda linha de código funciona da mesma forma.

    Se seu acelerômetro fornecer dados analógicos, seu código se verá assim: pulseX = analogRead(xPin); pulseY = analogRead(yPin); Este código lerá os valores das entradas do Arduino e as guardará em "pulseX" e "pulseY".

  6. 6

    Converta os dados guardados em "pulseX" e "pulseY" para valores de aceleração. O fabricante do acelerômetro fornecerá uma equação ou tabela de valores a usar para a conversão.

  7. 7

    Mostre os dados de aceleração no monitor serial, e envie-os para um programa compatível para "graficá-los". Seu código se verá assim: Serial.print("X"); Serial.print(accelerationX); Serial.println(); Serial.print("Y"); Serial.print(accelerationY); Serial.println(); As linhas que começam com "Serial.print" mostram os valores guardados nas variáveis indicadas ou as letras que aparecem entre aspas. "Serial.println()" adiciona retornos entre as variáveis impressas para que não apareçam na mesma linha.

  8. 8

    Adicione uma espera antes que o Arduino volte para a primeira linha de código. A sentença se verá assim: delay(50); } A primeira linha de código configura o valor de espera em 50 milisegundos. A chave marca o fim do "loop" e diz ao Arduino que ele deve voltar para a primeira linha de código.

  9. 9

    Clique no botão "Upload" para escrever o código no Arduino.

    "Graficar" a aceleração

  1. 1

    Inicie um entorno de programação que aceite dados seriais, como por exemplo o "Max/MSP", o "Processing" ou o "Pure Data".

  2. 2

    Escreva um código para que o programa monitore e aceite dados seriais de entrada do Arduino. O código que você escreverá dependerá do ambiente de programação que estiver usando. Especifique a taxa de "bauds" que você usou no código do Arduino ao estabelecer uma comunicação serial.

  3. 3

    Escreva um código para criar um gráfico com um eixo X e um eixo Y. Desenhe e etiquete os eixos com os valores apropriados para o seu acelerômetro. Você pode usar os valores máximos e mínimos fornecidos pelo acelerômetro para definir o tamanho de cada eixo.

  4. 4

    Escreva um código para separar os dados de entrada do Arduino nos valores X e Y apropriados. Por exemplo, você pode usar o valor numérico recebido em "X" no eixo X e o valor de "Y" no eixo Y.

  5. 5

    Escreva um código para mostrar os pontos no gráfico usando os dados fornecidos pelo Arduino.

  6. 6

    Escreva um código para desenhar linhas entre os pontos "graficados".

Dicas & Advertências

  • Modifique o código para que funcione com o seu Arduino.
  • Se o seu Arduino não estiver retornando os valores com velocidade suficiente, altere a taxa de "bauds".
  • Se seu acelerômetro fornecer mais do que dois eixos de dados, modifique o código para aceitar os dados adicionais em variáveis apropriadas e imprimir os dados.
  • Conectar o Arduino ao acelerômetro enquanto está ligado poderia danificar os componentes eletrônicos.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível