Você está aqui: Início » Robótica, Eletrônica e Afins » Eletrônica » Arduino

Arduino com sensor de obstáculos ultrasônico HC-SRO4

 

Estamos avançando no Arduino e também na Robótica. E hoje vou ensinar como montar um sensor ultrasônico no Arduino. O sensor ultrasônico em muitos casos são os olhos de um robô. Ele é capaz de detectar a distância obstáculos que estão a frente de um robô móvel, possibilitando assim uma manobra nos movimentos antes que ocorra uma colisão. O casamento entre Arduino e o sensor ultrasônico te dará total controle, permitindo que você programe da forma mais conveniente para o seu projeto os movimentos do seu robô. No caso deste projeto usei um Arduino UNO R3 e um sensor ultrasônico HC-SRO4. O sensor HC-SRO4 é fácil de encontrar e tem um bom preço. Além disso é bem fácil de controlá-lo através do Arduino, pois o mesmo só possui 4 pinos que serão explicados mais adiante. Bem, então vamos lá, vamos começar a montagem desse projeto que será bastante utilizado na construção de robôs móveis.

Arduino e HC-SRO4

O HC-SRO4 é um sensor ultrasonico que usa um sonar para detectar objetos a distância de 2 cm até 4 metros. Seu sistema de detecção de objetos é como o dos golfinhos. Esse sensor é muito utilizado na robótica para construção de robos, que se movimentam e devem desviar ou evitar obstáculos.

Dentre suas características podemos destacar:
Trabalha com microcontroladores com entradas digitais, como o Arduino e o PIC, além de outros;
É capaz de datectar objetos entre 2 cm e 4 metros de distância;
Sua operação não é afetada pela luz solar;
Revestimentos acústicos podem atrapalhar a operação do sensor HC-SRO4;
Possui o transmissor e o receptor de ultrasom no chip, não necessitando de componentes adicionais;
Possui uma resolução de 0,3 cm;
Ângulo de medição de 30 graus;
suas dimensões são de 45mm x 20mm 15mm.

Abaixo segue a função de cada um dos pinos do HC-SRO4
VCC - 5V (podendo variar de 4,5V até 5,5V)
Trig - Entrada do sensor (gatilho)
Echo - Saída do sensor (Eco)
GND - Ground (terra)

Sensor de obstáculos Arduino e HC-SRO4

Para construir este projeto Arduino com sensor de obstáculos ultrasônico  você vai precisar de:

Sensor de obstáculos Arduino e HC-SRO4

O funcionamento do projeto é simples, a medida que você aproxima algum objeto do sensor os leds acendem conforme a distância do objeto. O led verde se estiver longe, o amarelo se estiver em uma distância média e o vermelho se estiver próximo. As distâncias de acendimento dos leds são programaveis, se você quiser alterar é só fazer isso no código fonte do projeto.

Robótica sensor de obstáculos Arduino e HC-SRO4

O primeiro passo é instalar a biblioteca do sensor HC-SRO4 para que seu programa funcione. Para isso baixe a biblioteca em seu computador, depois descompacte o arquivo. Após descompactar uma pasta chamada HCSR04Ultrasonic será criada no seu computador. Copie esta pasta para a pasta libraries da IDE do arduino e pronto, agora você pode usar os recursos da biblioteca em seus programas.

Agora monte seu projeto físico conforme o esquema abaixo. Lembro que este esqueminha foi montado usando o software Fritzing.

Esquema Arduino

As ligações ficaram da seguinte forma:

  • portas digitais 11, 12 e 13 do arduino ligadas nos resistores, que por sua vez estão ligados nas pernas positivas dos leds;
  • pernas negativas dos leds no GND (terra) do arduino;
  • pino VCC do sensor ultrasônico HC-SRO4 no 5V do arduino;
  • pino TRIG do sensor HC-SRO4 na porta digital 6 do arduino;
  • pino ECHO do sensor HC-SRO4 na porta digital 7 do arduino;
  • pino GND do sensor HC-SRO4 no GND do arduino.

Abaixo segue o código fonte deste projeto, testado conforme mostrado no vídeo no fim do post.

/*
Projeto Arduino
Arduino com sensor de proximidade ultrasonico HHC-SRO4
Por Jota
----------------------------------------
--=<| www.ComoFazerAsCoisas.com.br |>=--
----------------------------------------
*/
//Incluindo biblioteca Ultrasonic.h
#include "Ultrasonic.h"

//criando objeto ultrasonic e definindo as portas digitais 
//do Trigger - 6 - e Echo - 7
Ultrasonic ultrasonic(6,7);

//Declaração das constantes referentes aos pinos digitais.
const int ledVerde = 13;
const int ledAmarelo = 12;
const int ledVermelho = 11;

long microsec = 0;
float distanciaCM = 0;

void setup() {
  Serial.begin(9600); //Inicializando o serial monitor
  
  //Definindo pinos digitais
  pinMode(ledVerde,OUTPUT); //13 como de saída.
  pinMode(ledAmarelo,OUTPUT); //12 como de saída.
  pinMode(ledVermelho,OUTPUT); //11 como de saída.
}

void loop() {  
  //Lendo o sensor
  microsec = ultrasonic.timing(); 

  //Convertendo a distância em CM
  distanciaCM = ultrasonic.convert(microsec, Ultrasonic::CM); 

  ledDistancia();

  Serial.print(distanciaCM);
  Serial.println(" cm");
  delay(1000);
}

//Método que centraliza o controle de acendimento dos leds.
void ledDistancia() {
  
  //Apagando todos os leds
  digitalWrite(ledVerde,LOW);  
  digitalWrite(ledAmarelo,LOW);
  digitalWrite(ledVermelho,LOW);
  
  //Acendendo o led adequado para a distância lida no sensor
  if (distanciaCM > 20) {
    digitalWrite(ledVerde,HIGH);  
  }
  
  if (distanciaCM <=20 and distanciaCM >= 10) {
    digitalWrite(ledAmarelo,HIGH);
  }
  
  if (distanciaCM < 10) {
    digitalWrite(ledVermelho,HIGH);
  }
}

Conecte o arduino ao seu computador, execute a IDE do arduino e copie o código fonte acima. Compile e faça o upload para o arduino e pronto! seu projeto está concluído. Agora aperte o play e veja no vídeo abaixo este projeto em funcionamento .

E se você gostou, curta, compartilhe, dê um joinha no vídeo e inscreva-se no nosso canal do YouTube para sempre estar por dentro e acompanhar os novos projetos e também nos dar aquela força. Um grande abraço e valeu!

Veja Mais

Joystick controlando 3 servomotores no Arduino
Joystick controlando 3 servomotores no Arduino
Como ligar um joystick no Arduino e ler as posições X, Y e Z
Como ligar um joystick no Arduino e ler as posições X, Y e Z
Circuito com o fotoresistor controlando o brilho do LED, como fazer!
Circuito com o fotoresistor controlando o brilho do LED, como fazer!
Resistor, o que é? e para que serve? uma visão geral sobre esse importante componente da eletrônica.
Resistor, o que é? e para que serve? uma visão geral sobre esse importante componente da eletrônica.
Como montar o seu Arduino na protoboard
Como montar o seu Arduino na protoboard
Como fazer um Alarme com Arduino e sensor de movimentos PIR.
Como fazer um Alarme com Arduino e sensor de movimentos PIR.
Mini gerador de energia manual movido a manivela
Mini gerador de energia manual movido a manivela
Arduino, primeiros passos para trabalhar com este fantástico microcontroladorArduino, primeiros passos para trabalhar com este fantástico microcontroladorProjeto Arduino pisca ledProjeto Arduino pisca led
 

Tops do momento

Como calcular o resistor adequado para um LED.Como calcular o resistor adequado para um LED.
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Como fazer um mini gerador de energia eólica - versão 2.0Como fazer um mini gerador de energia eólica - versão 2.0
Projeto Arduino com display LCD.Projeto Arduino com display LCD.
Projeto Arduino, led com botão liga desliga.Projeto Arduino, led com botão liga desliga.
Como fazer um mini gerador de energia eólica - versão 1.0Como fazer um mini gerador de energia eólica - versão 1.0
Como Fazer um Circuito Pisca LEDComo Fazer um Circuito Pisca LED
Mini gerador de energia manual movido a manivelaMini gerador de energia manual movido a manivela

Destaques

Joystick controlando 3 servomotores no ArduinoJoystick controlando 3 servomotores no Arduino
Como fazer uma mini balestra pistola de palitos de picoléComo fazer uma mini balestra pistola de palitos de picolé
Como fazer uma lanterna de LEDs no palitoComo fazer uma lanterna de LEDs no palito
Como fazer um avião bimotor de palitos de picoléComo fazer um avião bimotor de palitos de picolé
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Circuito simples que controla a velocidade de um motorzinho. Como fazer!Circuito simples que controla a velocidade de um motorzinho. Como fazer!
Como ligar um joystick no Arduino e ler as posições X, Y e ZComo ligar um joystick no Arduino e ler as posições X, Y e Z
Circuito simples que controla o sentido de rotação de um motorzinho.Circuito simples que controla o sentido de rotação de um motorzinho.
 
Como Fazer as Coisas no Facebook Como Fazer as Coisas no G+ Como Fazer as Coisas no Twitter Como Fazer as Coisas no YouTube Como Fazer as Coisas no Pinterest Feed Como Fazer as Coisas