Sensor de Distância com arduino

Neste artigo iremos realizar um projeto utilizando o sensor de distância HC-SR04.

Será um projeto simples onde iremos ligar um LED e um Buzzer quando houver aproximação de algum objeto.

É muito comum a utilização desse sensor em robôs, maquetes, carros e na automação em geral.

Com as informações recebidas desse sensor podemos tomar decisões.

Este sensor nos permite realizar diversos projetos.

Para simplificar vamos utilizar componentes dos artigos anteriores para demonstrar o funcionamento do sensor hc-sr04.

Sensor HC-SR04

É um sensor de distância com precisão de 3mm.

Possui a função de medição sem contato com o objeto a uma distância de 2 cm até 4 metros.

Lista de Componentes

  • 1 Placa arduino uno
  • 1 Sensor de distância HC-SR04
  • 1 LED 5mm
  • 1 Resistor 1k – marrom, preto, vermelho
  • 1 Buzzer piezoelétrico
  • 1 Resistor 100 Ohm – marrom, preto, marrom
  • 10 Fios jumper
  • 1 Protoboard
  • 1 Cabo USB para o arduino

Diagrama de Montagem

hc-sr04 buzzer com arduino

Programação Arduino

Para usar o sensor de distância hc-sr04 devemos declarar a biblioteca Ultrasonic.h como podemos verificar no código a seguir:


/*

Sensor de Distância com arduino

*/

//Declaração da biblioteca para utilização do sensor de distância ultrassonico hc-sr04

#include <Ultrasonic.h>

//Define os pinos para o trigger e echo

int pino_trigger = 9;

int pino_echo = 8;

//Define o pino para ligar o led

int pino_led = 10;

//Define o pino para ligar o buzzer

int pino_buzzer = 2;

//Distância

int distancia = 15;

//Inicializa o sensor nos pinos definidos acima

Ultrasonic ultrasonic(pino_trigger, pino_echo);

void setup()

{

Serial.begin(9600); //Define a taxa de dados em bits por segundo

Serial.println("Lendo dados do sensor..."); //Escrevendo no serial monitor

pinMode(pino_buzzer, OUTPUT); //Define o pino digital do buzzer como saída

}

void loop()

{

// Verifica se a distância é menor que 15 centímetros

if(ultrasonic.distanceRead() < distancia){

//menor que 15 centímetros

digitalWrite(pino_led, HIGH); // Acende o led

tone(pino_buzzer, 4500); // Valor do tom sonoro, pode ser modificado

}else{

//maior que 15 centímetros

digitalWrite(pino_led, LOW); // Apaga o led

noTone(pino_buzzer); // Desliga o buzzer

}

//Escrevendo no serial monitor

Serial.print("Distancia em cm: ");

Serial.println(ultrasonic.distanceRead());

delay(1000); //Espera 1 segundo para escrever a distância no serial monitor

}

Projeto em Funcionamento

Gostou desse artigo participe deixando seu comentário.

Até a próxima.

Tagged as: