Como usar e testar o sensor de distância ultrassônico HC-SR04 no arduino

Olá, amantes de robótica!
Neste post, ensinarei usar o sensor ultrasonic hc-sr04 no arduino.



Veja o vídeo do Como testar o sensor ultrassônico em funcionamento:





Vamos ao material que precisamos: 



Qtd     Itens:
1      -  Arduino UNO ou qualquer outra versão;
1      -  Protoboard;
1      -  Sensor ultrasonic HC-SR04;
4      -  Jumpers (Fios).

Não sabe onde comprar as peças, confira esse post:  onde comprar arduino e componentes

Vamos à montagem:



Basta fazer as mesmas conexões da imagem abaixo:
(clique na imagem pra ampliá-la)


Veja as fotos do projeto:








O mais importante, o código fonte:



Não sabe programar? Então acesse: Como programar em Arduíno, fazer robôs e projetos diversos
Se você é iniciante veja:Como enviar (upload) o programa pronto para a placa do arduino uno, mega entre outros

Atenção:
Para o código fonte funcionar é necessário baixar as bibliotecas: Baixar Library.

 /*   
  >>>>> Criando Robô Com Arduino <<<<<   
  ##### Robôs, Projetos e Tutoriais! #####  
  .:: Site principal: http://www.CriandoRoboComArduino.com/     
  .:: Site secundário: http://www.TestCriandoRoboComArduino.com/  
  ========== IMPORTANTE ==========   
  O código está livre para usar, citar, alterar e compartilhar,  
  desde que mantenha o site como referência.   
  Obrigado.  
  --------------------------------------------------------------------------------------------------  
  Projeto: Como usar e testar o sensor de distância ultrassônico HC-SR04 no arduino   
  ---------------------------------------------------------------------------------------------------  
 */   
  // Inclusão de bibliotecas.   
  #include <Ultrasonic.h>   // inclui biblioteca de manipulação de servos motores.   
  #define echoPin 8 //Pino 13 recebe o pulso do echo   
  #define trigPin 12 //Pino 12 envia o pulso para gerar o echo   
  Ultrasonic ultrasonic(12,8);   
  // Executado na inicialização do Arduino   
  void setup(){   
  Serial.begin(9600); // inicializa a comunicação serial para Debug ou para mostrar dados em um display LCD   
  pinMode(trigPin, OUTPUT);  // define o pino triger como saída.   
  pinMode(echoPin, INPUT);  // define o pino echo como entrada.   
  }   
  // Loop pincipal do Arduino   
  void loop(){   
  Serial.print( ultrasonic.Ranging(CM) ); //exibido no computador qual a medição do sensor. Essa função faz todo os cálculos e fornece as respostas   
  Serial.println( "cm" );// imprime o centímetro no final   
  delay(1000); //espere 1 segundo pra calcular novamente   
  }   
 /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  
   >>>>> Acesse os sites: <<<<<  
   .:: Robôs, Projetos e Tutoriais  
     http://www.CriandoRoboComArduino.com/     
   .:: Testes dos robôs, noticias sobre robótica e muito mais  
     http://www.TestCriandoRoboComArduino.com/  
   >>>>> Inscreva-se nos canais no Youtube: <<<<<  
   .:: Vídeos dos robôs, projetos e tutoriais  
     Criando Robô Com Arduino  
     https://www.youtube.com/CriandoRoboComArduin  
   .:: Mostrando os testes dos robôs e projetos  
     Test Criando Robô Com Arduino  
     https://www.youtube.com/TestCriandoRoboComAr  
   :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/  



Pronto, qualquer duvida é só deixar nos comentários ou entrar em Contato 

Quer ajuda ou quer ajudar? Clique em Ajuda e veja como você pode ajudar ou ser ajudado.



10 comentários:

  1. Só funciona com o UNO?
    eu tenho uma Duemilanove e n pegou :/
    fiz tudo, baixei a biblioteca, instalei, coloquei os codigos, pus nas entradas certas...

    ResponderExcluir
    Respostas
    1. Lipe, eu testei só no uno, infelizmente não tenho um Duemilanove para testar.
      faz o seguinte: altera no código o pino do echoPin para 13 e do trigPin para 12, mude na placa também e teste.
      caso não resolva me fale, por favor.

      Excluir
  2. oi, eu sou nova com o lance do arduino
    minha versão é o arduino mega 2560
    o programinha rodou e falou as distancias em cm, achei lindo.
    agora, eu gostaria de saber como deixar de depender da coneção do arduino para poder instalar esse sensor em algum aparelho eletronico.
    você poderia me auxiliar?

    ResponderExcluir
    Respostas
    1. Olá, que bom que gostou!
      Der como tem, porem ficaria muito impreciso, pois os dados vem muito rápido e a transmissão sem fio iria demorar alguns milissegundos, dependente do que você quer fazer com ele ficara muito ruim.
      caso você quira identificar se tem um pessoa no local indico usar sensor PIR.

      Excluir
  3. ola boa tarde,estou tentando usar esse código e não estou conseguindo ,baixei a biblioteca,mas mesmo assim não copila me a mensagem ''ultrasonic 'does not name a type alguem poede me ajudar

    ResponderExcluir
    Respostas
    1. Esse erro e porque a biblioteca não esta instalada corretamente, abraço

      Excluir
    2. Normalmente esse erro ocorre quando você acaba de instalar a biblioteca, feche e abra o programa novamente.

      Excluir
    3. Aconteceu comigo esse mesmo erro, eu só reiniciei o programa e ele já reconheceu a biblioteca automaticamente.

      Excluir
  4. Olá,

    Primeiramente parabéns pelo site e conteúdo.
    Gostaria de saber se poderia ajudar-me. Preciso usar este sensor, sendo que ao avistar um obstáculo, deve parar por 10 segundos e em seguida retomar a linha.
    Poderia passar-me uma dica ou ajuda?
    Muito obrigado

    ResponderExcluir
  5. Boa noite tudo bem? Parabéns pelo projeto, mas como eu poderia retirar o servo do sensor e o lcd sem atrapalhar a programação? Eu precisava de algo do tiopo.

    ResponderExcluir

O seu comentário estará aguardando aprovação.