Como usar o sensor de distância ultrassônico HC-SR04 no pino analógico do arduino

Olá, amantes de robótica!
Neste post, ensinaremos a usar o sensor ultrasonic hc-sr04 no pino analógico do  arduino.
No mercado há vários shields que ocupam praticamente todos os pinos digitais, dessa forma ficam disponíveis apenas os analógicos.
Ensinaremos como usá-lo no analógico.



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 o sensor de distância ultrassônico HC-SR04 no pino analogico do arduino  
  ---------------------------------------------------------------------------------------------------   
  */    
  // inclusão de bibliotecas.    
  #include <Ultrasonic.h> // inclui a biblioteca de manipulação do sensor ultrassónico.    
  #define HC_SR04_TRIGGER A2 //Define o pino do Trigger do sensor ultrasonico no pino ANALÓGICO A2  
  #define HC_SR04_ECHO A3 //Define o pino do Echo do sensor ultrasonico no pino ANALOGICO A3  
  int distancia_cm = 0; //variável do valor da distância  
  // executado na inicialização do Arduino    
  void setup(){    
   Serial.begin(9600); // inicializa a comunicação  
   pinMode(HC_SR04_TRIGGER, OUTPUT); //Define o trigger do sensor para enviar o sinal  
   pinMode(HC_SR04_ECHO, INPUT); //Define o Echo do sensor para receber o sinal    
  }    
  // função principal do Arduino    
  void loop(){    
   digitalWrite(HC_SR04_TRIGGER, LOW); //desliga a emisão do som  
   delayMicroseconds(4); //espera 4 segundos  
   digitalWrite(HC_SR04_TRIGGER, HIGH); //liga a trasmisão de som  
   delayMicroseconds(20); //continua emitindo o som durante 20 segundos  
   digitalWrite(HC_SR04_TRIGGER, LOW); //desliga a emisão do som   
   delayMicroseconds(10);//espera 10 segundos para poder voltar ao som  
   long pulse_us = pulseIn(HC_SR04_ECHO, HIGH); //liga o recebedor e calcula quantos pulsos ele recebeu  
   distancia_cm = pulse_us / 59; //divide o total de pulso por 59  
   delay(100);  
   Serial.println(distancia_cm);   
  }    
  /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::   
   >>>>> 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.



7 comentários:

  1. Ola e se eu quiser colocar um Bunzzer como eu faço ?

    ResponderExcluir
    Respostas
    1. Olá, Amigo, tudo bem, segue o código fonte:

      #include // inclui a biblioteca de manipulação do sensor ultrassónico.
      int BUZZER = 10; // Ligar o buzzer (Som) no pino 10
      #define HC_SR04_TRIGGER A2 //Define o pino do Trigger do sensor ultrasonico no pino ANALÓGICO A2
      #define HC_SR04_ECHO A3 //Define o pino do Echo do sensor ultrasonico no pino ANALOGICO A3
      int distancia_cm = 0; //variável do valor da distância
      // executado na inicialização do Arduino
      void setup(){
      Serial.begin(9600); // inicializa a comunicação
      pinMode(HC_SR04_TRIGGER, OUTPUT); //Define o trigger do sensor para enviar o sinal
      pinMode(HC_SR04_ECHO, INPUT); //Define o Echo do sensor para receber o sinal
      pinMode(BUZZER,OUTPUT); // define o pino do buzzer como saída.
      }
      // função principal do Arduino
      void loop(){
      digitalWrite(HC_SR04_TRIGGER, LOW); //desliga a emisão do som
      delayMicroseconds(4); //espera 4 segundos
      digitalWrite(HC_SR04_TRIGGER, HIGH); //liga a trasmisão de som
      delayMicroseconds(20); //continua emitindo o som durante 20 segundos
      digitalWrite(HC_SR04_TRIGGER, LOW); //desliga a emisão do som
      delayMicroseconds(10);//espera 10 segundos para poder voltar ao som
      long pulse_us = pulseIn(HC_SR04_ECHO, HIGH); //liga o recebedor e calcula quantos pulsos ele recebeu
      distancia_cm = pulse_us / 59; //divide o total de pulso por 59
      delay(100);
      Serial.println(distancia_cm);
      tone(10,100,300); //aqui sai o som
      delay(500);
      }

      Excluir
  2. Gostaria de saber se posso ligar o ultrasonico nos pinos A2 e A3 da Arduino. Não deveria ser nos pinos do pwm ? Agradeço

    ResponderExcluir
    Respostas
    1. Olá, Pode ligar sim, esse tutorial só ensina a usar na porta analógica, para usar nas portas digitais veja o outro tutorial: Sensor ultrassônico na porta digital Obrigado pelo acesso!

      Excluir
    2. Obrigado. Também gostaria de saber como faço para usar este sensor hcsr04 como protocolo de comunicação I2C . Tem algum programa ?

      Excluir
  3. como faço para adicionar dois motores, no caso de fazer um robo com este sensor?

    ResponderExcluir
    Respostas
    1. Olá, vc pode ver esse robô: CArAut v2 nele se usa dois motores e o sensor.
      Obrigado

      Excluir

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