Projeto Sensor de Estacionamento Arduino

Sensor de Estacionamento Arduino com Sensor Ultrassônico

O Projeto Sensor de Estacionamento Arduino com Sensor Ultrassônico é mais uma possibilidade de aplicação do incrível e prático módulo HC-SR04 em conjunto com o microcontrolador Arduino.

Sensores de estacionamento são sensores de proximidade para veículos, projetados para alertar o motorista sobre obstáculos durante o estacionamento. Esses sistemas usam sensores eletromagnéticos ou ultrassônicos.

No entanto, os mais comuns são detectores de proximidade ultrassônicos que fazem o papel de medir as distâncias a objetos próximos por meio de sensores localizados no para-choque dianteiro e / ou traseiro.

Sendo assim, neste tutorial você irá aprender a construir algo parecido com o sensor de estacionamento de carros e utilizando 3 tipos de componentes diferentes para se comunicar com a placa UNO. Veja só a imagem abaixo:

Sensor de Estacionamento Arduino com Sensor Ultrassônico

Sensor de Estacionamento Arduino com Sensor Ultrassônico

 

Para isso, temos diversas maneiras diferentes para calcular distâncias com a placa microcontroladora no projeto Sensor de Estacionamento Arduino. Uma delas é através do sensor infravermelho, que usa as propriedades da luz para calcular a distância.

Pinagem Sensor Ultrassônico de Distância HC-SR04

Pinagem Sensor Ultrassônico de Distância HC-SR04

 

Já a segunda maneira e a que iremos aplicar neste projeto, é a de utilizar o sensor ultrassônico, que usa as propriedades de propagação do som, mais especificamente o ultrassom, para medir distâncias.

OBS: Esses tipos de ondas sonoras estão acima do espectro audível para humanos.

A operação é muito simples. O sensor envia uma onda ultrassônica através do trigger, ricocheteia no objeto e o receptor ou echo detecta a onda. Sabendo quanto tempo essa onda levou para viajar, podemos obter a distância.

Fórmula Cálculo Distância Sensor Ultrassônico

Fórmula para Cálculo da Distância do Sensor Ultrassônico

 

Por fim, incorporamos ao projeto Sensor de Estacionamento Arduino o sistema de alerta visual com o uso de 4 LED’s vermelhos que irá nos permitir ver se estamos longe, perto ou em uma zona de perigo de um obstáculo. Os LED’s acendem a uma distância de 30cm, 20cm, 10c, e 5cm respectivamente.

 

Já para um alerta sonoro utilizaremos o buzzer.

Existem dois tipos desse componente: o buzzer ativo e o buzzer passivo. No nosso caso, iremos utilizar o buzzer ativo e ele será programado para aumentar a frequência gradualmente conforme o objeto for se aproximando do sensor.

O buzzer ativo funciona a partir do efeito piezoelétrico reverso. Conectando o componente em uma porta digital, basta apenas enviar um sinal em nível lógico alto para fazer o componente apitar.

Já o buzzer passivo requer um sinal AC para fazer um som. É como um alto-falante eletromagnético, em que uma mudança no sinal de entrada produz o som, em vez de produzir um tom automaticamente.

Para identificá-los, basta aplicar uma tensão DC no componente e caso um deles zumbir, significa que é um ativo.

Ou senão, veja a diferença abaixo para saber identifica-los melhor:

 

Observe que este componente possui apenas 2 terminais, um é o negativo, o outro é o positivo que vai ligado no pino digital do Arduino. Para saber mais sobre este componente e como construir circuitos com o Arduino de forma simples, acesse o curso e se torne um especialista na plataforma.

 

Montagem do Sensor de Estacionamento

Para construir o projeto deste tutorial você irá precisar de:

 

No diagrama a seguir as conexões com os componentes pode ser observada melhor onde, por um lado, estão os componentes responsáveis pelo alerta sonoro (buzzer) e visual (LED’s) e, por outro lado, o sensor de ultrassom:

 

Esquemático Projeto Sensor de Estacionamento Arduino

 

Se atente aos componentes e suas conexões:

  • Os LED’s vermelhos são conectados na seguinte ordem crescente de pinos digitais do Arduino: D6, D7, D8 e D9, lembrando que é necessário ter resistores nesses pinos para diminuir o risco de queimar os componentes;
  • Conectamos o sensor ultrassônico em dois pinos digitais do Arduino: um para o trigger (pino 10) e outro para o echo (pino 11), e;
  • O buzzer ativo conectamos no Arduino através do pino 3.

Para fazer a alimentação de todo o circuito elétrico do Sensor de Estacionamento Arduino você pode utilizar o próprio cabo USB do Arduino, uma bateria ou até mesmo uma Fonte de Alimentação 9V.  Atente-se em utilizar uma boa fonte para evitar choques elétricos indesejáveis. É importante que neste caso a instalação elétrica de sua casa esteja aparelhada com equipamentos de proteção como dispositivo protetor de surto ou dispositivo diferencial residual.

 

Código do Projeto Sensor de Estacionamento Arduino

Após conhecer melhor sobre o funcionamento do sensor ultrassônico e do restante dos componentes do projeto, agora você escreverá um programa que irá ler constantemente as informações do sensor ultrassônico e, de acordo com a distância medida pelo sensor, os LED’s vermelhos irão acendendo de forma progressiva enquanto que o buzzer irá aumentando a frequência do tom.

Para que isso aconteça você vai usar as condições seguintes:

  1. Se a distância estiver entre 30 cm e 20 cm, o LED 1 irá acender e o Buzzer irá apitar a uma frequência de 1500 Hz;
  2. Se a distância estiver entre 20 cm e 10 cm, o LED 2 irá acender e o Buzzer irá apitar a uma frequência de 2000 Hz;
  3. Se a distância estiver entre 10 cm e 5 cm, o LED 3 irá acender e o Buzzer irá apitar a uma frequência de 2750 Hz;
  4. Se a distância estiver abaixo de 5 cm, o LED 4 irá acender e o Buzzer irá apitar a uma frequência de 3000 Hz;

 

Veja só o código na íntegra:

 

Código comentado passo a passo

É preciso que nas primeiras linhas de código identifiquemos as portas de cada componente eletrônico conectado ao Arduino. Para isso, usamos o #define e na frente identificamos qual é o componente e qual é a porta que está conectado.

 

Utilizamos as próximas linhas para declarar variáveis de leitura para a velocidade do som e a distância limite para o sensor detectar e acionar os LED’s e o buzzer.

 

Já dentro do void setup() inicializamos a comunicação serial na velocidade de 9600 bits por segundo e após, definimos cada componente sua respectiva função: se é de saída ou se é de entrada no código.

No caso do sensor ultrassônico, o pino ECHO é de entrada pois recebe a onda que é transmitida pelo ECHO, que é de saída.

 

Finalizamos o setup chamando uma função que será escrita posteriormente no código. Seu objetivo é garantir que os LED’s estarão apagados quando iniciarmos o loop.

 

Iremos trabalhar somente com a chamada de funções aqui no void loop(). Assim, o código fica mais enxuto e sua lógica fica mais inteligente.

Ou seja, para que a onda ultrassônica seja emitida, primeiros precisamos acionar o Trigger de acordo com a função abaixo:

 

A lógica é bastante simples aqui pois fazemos com que o Trigger desligue e ligue em intervalos de tempo específicos para que as ondas sejam coletadas pelo ECHO.

Por conseguinte, está presente no código a lógica que faz essa coleta das ondas e após, efetua o cálculo da distância, veja:

 

A função retorna o valor encontrado em centímetros e exibe na tela do monitor serial este valor.

Então, o valor fica armazenado na variável distancia para que ela seja processada pelo microcontrolador do Arduino e assim ligar ou desligar os LED’s bem como o buzzer.

O próximo passo dentro do loop, é novamente utilizar a função de desligarleds que está representada abaixo:

 

Essa função nada mais é do que usar o comando digitalWrite para colocar em estado de nível lógico baixo os LED’s do sensor de estacionamento garantido que eles estejam apagados.

O último passo do nosso loop está em definir uma condição que irá verificar se a distância está abaixo do valor limite1. Se sim, então a função de alerta é chamada para acionar os LED’s e o buzzer.

Veja o código principal do projeto Sensor de Estacionamento Arduino que contém a lógica comentada para cada distância limite e explica como é feito o acionamento dos LED’s de forma progressiva.

 

Projeto Sensor de Estacionamento Finalizado

Após ter seguido esse passo a passo aqui do tutorial do sensor de estacionamento, você terá algo parecido com o vídeo abaixo:

 

 

Caso queira alterar o modo como o buzzer emite o ruído, você pode ir nesta parte do código: tone(BUZZER, 1500, 50) e variar a frequência que está em “1500” de forma a deixar o som mais agudo ou mais grave e mudar a duração do tom que está em “50”. Esta última é dada em milissegundos.

O que você achou deste tutorial? Gostou? Então não esqueça de deixar sua opinião nos comentários abaixo!

Categorias
ArduinoProjetos

Futuro Engenheiro Mecatrônico pela Federal de Uberlândia, fanático por Tecnologia, Empreendedorismo e Gestão. Desde pequeno faz projetos com Arduino e recentemente atuou na Empresa Júnior do seu curso gerenciando equipes de engenharia no setor de vendas e de projetos.
8 Número de Comentários
  • francisco enoque
    3 fevereiro 2021 at 19:37
    Deixe seu Comentário

    Eu achei muito bacana. Pelo que entendi é possível configurar o buzzer para emitir em diversas frequências, correto? Achava que a frequência era fixa. Quero explorar esse princípio para um cara ntrole usando NE567, detector de tom. Seria útil como controle remoto. O buzzer emite uma tom de acordo com o ajuste do NE 567, que é um PLL.

    • Matheus Gebert Straub
      9 março 2021 at 10:44
      Deixe seu Comentário

      Olá Francisco! Existem dois tipos de buzzer, o buzzer ativo que é o mais comum de se encontrar possui uma frequência fixa, não é possível emitir sons além do bip contínuo que produz automaticamente quando alimentado, já o buzzer passivo, este sim possui a capacidade de controle de frequência e quando alimentado diretamente na fonte não produz som nenhum, apenas se estiver associado a um pino de controle que consiga executar a devida configuração.

  • Ricardo Pinto
    28 fevereiro 2021 at 21:54
    Deixe seu Comentário

    Excelente explicação. Vou experimentar esse codigo e fazer esse teste.

  • Marcia Lippaus
    20 agosto 2022 at 17:41
    Deixe seu Comentário

    Ótima explicação, obrigada por compartilhar, ajudará muita gente que está iniciando no Arduino!

  • Tete
    24 setembro 2024 at 12:11
    Deixe seu Comentário

    É uma ótima explicação detalhada e ajudou muito, fico curiosa de saber como seria se isso fosse feito por luzes, onde a cor muda na ausência de algo e presença como um semáforo, só que invés de permitir passagem, ele conta a presença.

    • Victor Eduardo Ferreira
      25 setembro 2024 at 14:05
      Deixe seu Comentário

      Boa tarde!

      Bastaria apenas simplificar o código deixando apenas 1 limite, quando estiver dentro do limite liga um LED vermelho, ao sair deste limite liga um LED verde.

  • JOAQUIM CARLOS ALVES DOS SANTOS
    15 novembro 2024 at 17:19
    Deixe seu Comentário

    Boa Tarde, Parabéns pelo projeto achei muito legal Sou o Joaquim da cidade de Mogi Guaçu-S.P, estou no 3 e ultimo modulo de eletrônnica e o meu trabalho de TCC é exatamente o sensor de ré, porem gostaria de saber como colocar um VIBRA CALL também. Muito obrigado e mais uma vez PARABÉNS.

  • JOAQUIM CARLOS ALVES DOS SANTOS
    15 novembro 2024 at 17:47
    Deixe seu Comentário

    Boa Tarde, Gostaria de saber também de como aumentar a quantidades de leds.
    Obrigado
    Joaquim

  • Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados