Beaglebone Black + Conversor A/D + Sensor Ultrassônico

sensor ultrassônico

Introdução

Conversores analógico/digital são circuitos eletrônicos fundamentais para sistemas embarcados, necessários para transformar sinais contínuos de tensão em representações discretas para que possam ser processados em sistemas digitais.

A Beaglebone Black possui sete entradas para o seu conversor A/D de aproximação sucessiva, com resolução de 12 bits, capaz de realizar 200 mil amostras por segundo, e com uma tensão de entrada que pode variar de 0 a 1,8V. Com uma divisão simples então podemos concluir que a Beaglebone Black pode detectar variações de tensão de até 0,439mV, suficiente para a maioria das aplicações.

Neste post vou mostrar como usar o sistema de arquivos do Linux para ler os valores adquiridos pelo conversor A/D, e também como isso poderá ser feito pela sua aplicação (aqui vamos exemplificar utilizando Python).

Para demonstrar vou utilizar o sensor de distância ultrassônico LV-MaxSonar-EZ0 que, entre outras interfaces de comunicação, possui uma saída analógica que entrega uma tensão proporcional à distância do sensor até a superfície que ele estiver apontando.

sensor ultrassônico
Figura 1 - Sensor de proximidade ultrassônico LV-MaxSonar-EZ0.

Na prática

Importante:

  • Não exponha a entrada analógica da Beaglebone Black a tensões superiores a 1.8V;
  • Para que o nosso sensor ultrassônico forneça tensões compatíveis com a Beaglebone Black tivemos que alimentá-lo com 3,3V;
  • No exemplo estou utilizando a última imagem oficial lançada para a Beaglebone Black com Debian, para saber mais acesse o artigo;
  • Caso você queira clonar o projeto utilizado no exemplo, irá precisar de acesso à internet na Beaglebone Black. Isso pode ser feito pela porta USB e foi abordado em um artigo anterior.


Caso você execute o comando abaixo, você poderá ver que as entradas analógicas não estão habilitadas.

sensor ultrassônico
Resultado do comando a cima.

Como a Beaglebone Black já possui um device tree overlay (DTO) para o conversor A/D pronto para uso, podemos habilitar as entradas analógicas facilmente apenas com o comando abaixo:

Agora se repetirmos o primeiro comando podemos notar que as entradas analógicas estão habilitadas.

sensor ultrassônico
Nova verificação dos slots.

Agora conectando o sensor na Beaglebone Black conforme:

  • O VDD do sensor ultrassônico no +3,3V da Beaglebone Black (P9_03);
  • O GND do sensor ultrassônico no GNDA_ADC da Beaglebone Black (P9_34);
  • O sinal analógio do sensor ultrassônico na entrada AIN0 da Beaglebone Black (P9_39);
sensor ultrassônico
Conexões entre o sensor e a Beaglebone Black.

Já podemos fazer nossa primeira leitura utilizando o comando: 

sensor ultrassônico
Leitura do conversor A/D.

O valor recebido varia linearmente de 0 a 4095 à medida que a tensão na entrada varia de 0 a +1,8V. 

Utilizando Python

Agora vamos desenvolver um pequeno script em Python 2.7.3 para realizarmos a leitura do sensor ultrassônico, e exibir o resultado em centímetros na tela. O código está no GitHub e para clonar e rodar o projeto basta utilizar os três comandos seguintes: 

sensor ultrassônico
Saída do script.

As explicações estão todas nos comentários do script, assim acho que fica mais fácil de visualizar o funcionamento do programa.

Referências

http://maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf
https://github.com/igorTavares/bbb_ultrasonic_python
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Beaglebone Black » Beaglebone Black + Conversor A/D + Sensor Ultrassônico
Talvez você goste:
Comentários:

2
Deixe um comentário

avatar
2 Comentários
0 Respostas
0 Seguidores
 
Discussão de maior alcance
Discussão mais quente
0 Autores de comentários
Beaglebone Black + Conversor A/D + Sensor Ultrassônico - Peguei doBeaglebone Black - IoT com ThingSpeak Comentários recentes
  Notificações  
recentes antigos mais votados
Notificar
trackback

[…] “Conversores analógico/digital são circuitos eletrônicos fundamentais para sistemas embarcados, necessários para transformar sinais contínuos de tensão em representações discretas para que possam ser processados em sistemas digitais. Neste post vou mostrar como usar o sistema de arquivos do Linux para ler os valores adquiridos pelo conversor A/D, e também como isso poderá ser feito pela sua aplicação (aqui vamos exemplificar utilizando Python).” [referência: embarcados.com.br] […]

trackback

[…] LM35 [8] utilizando o conversor A/D da Beaglebone Black conforme explicado no post anterior [9], e irá subir essa e outras informações do dispositivo para o […]

Séries

Menu