Você está na página 1de 4

Arduino – Utilizando o Sensor

Ultrasonico HC-SR04 e Buzzer 5V


Nesta prática você vai aprender a utilizar o
Arduino em conjunto com o Sensor Ultrasonico
junto e Buzzer 5V.

O Sensor Ultrasonico HC-SR04 é um dos sensores mais conhecido do mercado.


Pode-se dizer que todos que estão iniciando com Arduino sempre procuram pelo
Sensor Ultrasonico HC-SR04 para desenvolver seus primeiros projetos medindo
distâncias de obstáculos / objetos em relação ao sensor. O mesmo é aplicado com
mais frequência em projetos de robótica, principalmente em chassis robóticos, robôs
ou carrinhos. O sensor é capaz de medir com precisão (3mm de margem de erro)
distâncias de 2cm até 4m.

O Buzzer 5V é um componente utilizado para emitir sinais sonoros. O mesmo possui


um circuito oscilador que produz o som e só necessita ser energizado.

Basicamente o que será feito nesta prática é definir uma distância mínima do objeto
em relação ao Sensor Ultrasonico HC-SR04 para que o Buzzer 5V seja ativado.
Abaixo está a lista dos itens necessários, e mais informações sobre cada um deles:

– Arduino Uno Com Cabo USB A/B


– Buzzer Ativo 5V
– Cabo Jumper
– Protoboard
– Sensor Ultrasônico HC-SR04

Abaixo está o esquema de ligação para esta prática:

Feito o esquema de ligação, será necessário instalar uma biblioteca na IDE do


Arduino para em seguida carregar o código na placa.

Faça o download da biblioteca Ultrasonic e em seguida faça a instalação da mesma na


IDE do Arduino.
Se você não sabe como fazer a instalação de bibliotecas na IDE, acesse o link abaixo
e em seguida retorne para continuar:

Arduino – Importando bibliotecas para a IDE

O código para testes está abaixo, basta copiar o mesmo, colar na IDE, salvar e
carregar:

1 #include "Ultrasonic.h" //INCLUSÃO DA BIBLIOTECA NECESSÁRIA PARA FUNCIONAMENTO DO CÓDIGO


2

3 const int echoPin = 6; //PINO DIGITAL UTILIZADO PELO HC-SR04 ECHO(RECEBE)


4 const int trigPin = 7; //PINO DIGITAL UTILIZADO PELO HC-SR04 TRIG(ENVIA)
5

6 const int pinoBuzzer = 2; //PINO DIGITAL EM QUE O BUZZER ESTÁ CONECTADO


7

8 Ultrasonic ultrasonic(trigPin,echoPin); //INICIALIZANDO OS PINOS


9

10 int distancia; //CRIA UMA VARIÁVEL CHAMADA "distancia" DO TIPO INTEIRO

11 String result; //CRIA UMA VARIÁVEL CHAMADA "result" DO TIPO STRING

12

13 void setup(){

14 pinMode(echoPin, INPUT); //DEFINE O PINO COMO ENTRADA (RECEBE)

15 pinMode(trigPin, OUTPUT); //DEFINE O PINO COMO SAÍDA (ENVIA)

16 pinMode(pinoBuzzer, OUTPUT); //DECLARA O PINO COMO SENDO SAÍDA

17 }

18 void loop(){

19

20 hcsr04(); // FAZ A CHAMADA DO MÉTODO "hcsr04()"

21

22 if(distancia <= 30){// SE A DISTÂNCIA ENTRE O OBJETO E O SENSOR ULTRASONICO FOR MENOR QUE 30CM,

23 FAZ

24 tone(pinoBuzzer,1500);//ACIONA O BUZZER

25 }else{//SENÃO, FAZ

26 noTone(pinoBuzzer);//BUZZER PERMANECE DESLIGADO

27 }

28 }
29 //MÉTODO RESPONSÁVEL POR CALCULAR A DISTÂNCIA

30 void hcsr04(){

31 digitalWrite(trigPin, LOW); //SETA O PINO 6 COM UM PULSO BAIXO "LOW"

32 delayMicroseconds(2); // DELAY DE 2 MICROSSEGUNDOS

33 digitalWrite(trigPin, HIGH); //SETA O PINO 6 COM PULSO ALTO "HIGH"

34 delayMicroseconds(10); // DELAY DE 10 MICROSSEGUNDOS

35 digitalWrite(trigPin, LOW); //SETA O PINO 6 COM PULSO BAIXO "LOW" NOVAMENTE

36 // FUNÇÃO RANGING, FAZ A CONVERSÃO DO TEMPO DE

37 //RESPOSTA DO ECHO EM CENTÍMETROS E ARMAZENA

38 //NA VARIÁVEL "distancia"

39 distancia = (ultrasonic.Ranging(CM)); // VARIÁVEL GLOBAL RECEBE O VALOR DA DISTÂNCIA MEDIDA

40 delay(500); //INTERVALO DE 500 MILISSEGUNDOS

Definimos no código que quando o objeto estiver a uma distância de 30cm (ou menos)
em relação ao Sensor Ultrasonico HC-SR04 o Buzzer 5V deverá ser ativado. Caso a
distância seja superior a 30cm o Buzzer 5V permanecerá desligado.

Você também pode gostar