Acelerômetro de interface com NRF24LE1
Nesta série, aprendemos as funcionalidades e recursos básicos do NRF24LE1. Agora é hora de usá-los para realizar tarefas mais elevadas. No futuro, combinaremos diversas funcionalidades da NRF com o mundo exterior. Hoje, faremos a interface de um sensor acelerômetro com NRF24LE1 usando ADC (conversor analógico para digital). Também enviaremos a leitura da aceleração para o nosso PC usando comunicação serial.
Fig. 1: Protótipo de interface NRF24LE1 com acelerômetro
Consulte nossos artigos anteriores sobre ADC e comunicação serial.
Todos nós estudamos a definição de aceleração, que diz que é a taxa de variação da velocidade. Anteriormente, costumávamos calcular a aceleração manualmente usando fórmulas, mas esta é uma era de mundo digital; agora estão disponíveis sensores para substituir a tarefa manual. Esses sensores têm uma ampla gama de aplicações, seja um braço robótico ou um foguete. O sensor acelerômetro que usaremos é o ADXL335.
Alguns recursos básicos do ADXL335:
· Detecção de 3 eixos
· Baixa potência – 350 uA (típico)
· Operação 1,8 V – 3,6 V
· Tamanho pequeno
· Faixa de detecção de -3g a +3g
Funcionamento:
Este módulo possui 3 pinos de saída analógica para aceleração nas direções X, Y e Z. A tensão de saída nesses pinos varia de 0 – 3,3V.
Fig. 2: Layout de PCB da interface NRF24LE1 com acelerômetro
3,3V corresponde a +3g onde g é a aceleração gravitacional.
Usaremos o ADC embutido do NRF para converter a tensão analógica detectada no módulo e a tensão de referência para ADC será 3,3V. O pino analógico X será conectado ao Pin0.0, Y ao Pin0.1 e Z ao Pin0.2. O módulo para ADXL335 já possui um IC regulador de 3,3V embutido. Portanto, forneceremos 5V para este módulo.
Depois de obter o valor digital convertido para diferentes direções, temos que subtrair o valor 0g deles. 0g significa que não há aceleração, mas o sensor do acelerômetro ainda emite alguma tensão analógica para ele. Então temos que reduzir esse valor do valor digital detectado.
O valor de saída 0g pode ser encontrado na folha de dados do sensor. O valor 0g que estamos usando é 1,33 V para X, 1,6 V para Y e 0,84 V para direção Z. Os valores digitais correspondentes são 103, 124 e 65.
Após subtrair os valores 0g dividiremos o resultado pela sensibilidade do sensor. A sensibilidade é medida em mV/g. Ele pode ser encontrado na ficha técnica. Estamos usando um valor de quase 300mv/g para Sensibilidade. O valor digital correspondente fica em torno de 23. Após a divisão, o resultado será em termos de g.
Portanto, a fórmula para calcular a aceleração é:
Aceleração em X= (x – 103,0)/23,0;
Aceleração em Y = (y – 124,0)/23,0;
Aceleração em Z = (z – 65,0)/21,0;
Onde x, y e z são os valores analógicos detectados no módulo.
Transmitiremos a aceleração calculada para o PC através de comunicação serial. O pino para transmissão serial é P0.3. Também mencionamos o código para uma compreensão mais clara.
Código-fonte do projeto
###
//Program to
/* Direitos autorais (c) 2009 Nordic Semiconductor. Todos os direitos reservados.
*
###
Diagramas de circuito
Diagrama de Circuito-NRF24LE1-Acelerômetro de Interface | ![]() |
Vídeo do projeto