Tutorial: Trena eletrônica com Arduino e sensor ultrassônico LV-EZ

 

Olá Garagistas! Neste tutorial mostraremos como você pode montar uma trena eletrônica utilizando Arduino e sensor ultrassônico LV-EZ. Como demonstração faremos a medição da distância, posicionando o sensor de frente para um objeto e mostraremos no display LCD 16x2 qual a distância está sendo aferida pelo o sensor, tanto pelo o pino de saída PWM, quanto pelo pino de saída Serial UART (TX) do sensor.

 

Material Utilizado:

1x Arduino

1x Sensor Ultrassom LV-EZ1 ou 1x Sensor Ultrassom LV-EZ3

1x Barra de Pinos Reto (7 Pinos)

1x Display LCD 16x2

1x Potenciômetro 10KΩ

1x Adaptador 9V Jack

Protoboard

Alguns Jumpers M/M

Alguns Jumpers Premium M/F

 

 

1. Sensor Ultrassônico

 

Imagem 1 - Sensor Ultrassônico LV-EZ1

 

O sensor ultrassônico é um tipo de sensor de grande utilidade na automação, sensoriamento de obstáculos para robô, e de objetos em linhas de montagem . Ele possui a propriedade de não precisar de contacto físico com o objeto ou ainda de que esse objeto possua alguma propriedade física em específico, ele não só detecta sua presença como ainda tem recursos para determinar a qual distância do sensor o objeto se encontra. O Sensor LV-EZ utiliza um transmissor e um receptor de ultrassom, através dos quais determina a distância de objetos presentes à sua frente.

Na ilustração abaixo, temos o princípio de funcionamento do sensor:

 

Figura 1 - Funcionamento do sensor de ultrassom

 

À esquerda da imagem temos o sensor LV-EZ e à direita um objeto colocado à sua frente. O sensor emite uma onda ultrassônica durante um determinado tempo, esta onda sonora rebate no material e retorna ao receptor do sensor.O tempo que a onda leva para ir e voltar é medido pelo sensor, e como a velocidade do som é conhecida, é possível calcular a distância do objeto através da equação:

 

Fórmula 1 - Cálculo da distância entre o sensor e o objeto

 

Para facilitar, a biblioteca Maxbotix.h já faz esses cálculos, tudo o que é preciso fazer é utilizar as funções dela, e com isso já adquirir o valor convertido em centímetros. O download da biblioteca Maxbotix.h pode ser feito clicando aqui.

 

 

2. Circuito

 

Figura 2 - Circuito da Trena Eletrônica

 

 

Imagem 2 - Trena Eletrônica Montada

 

 

3. Sketch

 

 

#include <LiquidCrystal.h> //Inclui a biblioteca do LCD

#include "Maxbotix.h" //Inclui a biblioteca Maxbotix.h

 

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCD

Maxbotix rangeSensorPW(8, Maxbotix::PW, Maxbotix::LV); //Instância o pino PW do sensor LV para ser utilizado com o pino 8 do Arduino

Maxbotix rangeSensorTX(6, Maxbotix::TX, Maxbotix::LV); //Instância o pino TX do sensor LV para ser utilizado com o pino 6 do Arduino

 

void setup()

{

 

lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
 

}

 

 

void loop()
{

 

unsigned long start; //Cria uma variável para contagem de tempo em millisegundos utilizando timer

  // PW
  lcd.setCursor(0,0);
  lcd.print("PW: "); //Imprime no display "PW: "
  lcd.print(rangeSensorPW.getRange()); //Imprime no display a leitura de PW
  lcd.print("cm"); //Imprime no display a unidade "cm"

  // TX
  lcd.setCursor(0,1);
  lcd.print("TX: "); //Imprime no display "TX: "
  lcd.print(rangeSensorTX.getRange()); //Imprime no display a leitura de TX
  lcd.print("cm"); //Imprime no display a unidade "cm"
  delay(5000); //Aguarda 5 segundos
  lcd.clear(); //Limpa a tela do display de LCD

 

}

 

Referências:

http://www.newtoncbraga.com.br/index.php/robotica/3484-mec081

http://playground.arduino.cc/Main/MaxSonar

 

 

Exibições: 18522

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Ivan Freitas em 5 novembro 2016 às 8:27

Bom dia
Parabens pelo tutorial
Consigo pegar as medidas em milimetros em vez de centimetros?
obrigado

Comentário de Joao Silveira em 29 abril 2016 às 20:01

Boa noite Flavio!
Acredito q este tenho sido este o erro. Nos tínhamos 2 bibliotecas iguais.
este problema foi resolvido, mas agr esta aparecendo esse:

Arduino: 1.6.7 (Windows 10), Placa:"Arduino/Genuino Uno"

tRENA:6: error: 'TX' is not a member of 'Maxbotix'

Maxbotix rangeSensorTX(6, Maxbotix::TX, Maxbotix::LV); //Instância o pino TX do sensor LV para ser utilizado com o pino 6 do Arduino

^

exit status 1
'TX' is not a member of 'Maxbotix'

Este relatório deveria ter mais informações
"Mostrar saída verbosa durante a compilação"
habilitado em Arquivo > Preferências.

Muito OBG pela atenção!

Comentário de Flavio Hernan em 27 abril 2016 às 21:29

 Joao Silveira você instalou a biblioteca?

Comentário de Joao Silveira em 27 abril 2016 às 20:48

Boa noite!
Nossa turma de Mecatronica deve desenvolver um programa usando o arduino, Nosso grupo opto por fazer esta trena eletronica, mas estamos tendo o seguinte erro quando compilamos o programa:


Arduino: 1.6.7 (Windows 10), Placa:"Arduino/Genuino Uno"

C:\Users\gustavo.hack\Desktop\tRENA\tRENA.ino: In function 'void loop()':

tRENA:29: error: 'rangeSensorTX' was not declared in this scope

lcd.print(rangeSensorTX.getRange()); //Imprime no display a leitura de TX

^

exit status 1
'rangeSensorTX' was not declared in this scope

Este relatório deveria ter mais informações
"Mostrar saída verbosa durante a compilação"
habilitado em Arquivo > Preferências.

Alguem poderia nos apontar alguma solução?
Muito obg pela atenção!

Comentário de alexandre cavalcante em 20 julho 2015 às 22:13

Ate quanto metro chega esta trena

Comentário de Bruno Ferreira da Silva Santos em 7 abril 2014 às 10:51

Meu nome é Bruno sou de Suzano e estudo na Universidade Braz Cubas em Mogi das Cruzes, estamos fazendo um projeto integrador onde o nosso projeto é uma Trena Eletrônica Ultrassonica, relativamente facil mais para nós que somos leigos no assunto esta sendo um desafio. Na parte da montagem conseguimos fazer normalmente o nosso problema esta sendo na programação, mais precisamente em adicionar a biblioteca Adafruit GFX.h e Adafruit_PCD8345.h no arduino, a biblioteca do sensor conseguimos colocar normalmente mais a da tela lcd 5110 esta sendo um grande problema, estamos tentando falar com o idealizador do projeto só que ele não nos responde gostaria de saber se é possivel o sr. nos ajudar em anexo esta passo a passo o que eu estou fazendo.

Nós tiramos o projeto do link abaixo:
http://labdegaragem.com/profiles/blogs/trena-eletr-nica

Obrigado.

Bruno F.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço