SENSOR ULTRASSÔNICO HC-SR04

 

        O sensor ultrassônico HC-SR04 é um componente de grande relevância para os nossos projetos, principalmente quando falamos de calcular distância. Para utiliza-lo não é muito complicado pois existem muitas bibliotecas disponíveis na IDE do Arduino, só que beste Post nós vamos apresentar o funcionamento desse sensor e como utiliza-os sem biblioteca.


O que é?


    O sensor de distância ultrassônico, como o próprio nome diz, é um sensor capaz de medir a distância dele até um objeto que esteja na sua frente. O sensor mais comum para utilizar com o Arduino é o HC-SR04 da imagem abaixo .



      Funcionamento

    Seu funcionamento se dá graças a duas partes importantes: uma emissora (Trigger) e uma receptora (Echo). Nas imagens acima, essas partes são os cilindros metálicos com uma grade na ponta. Essas duas partes possuem, basicamente, células piezoelétricas. No caso, o Trigger vibra a uma frequência de 40KHz (ouvido humano não é capaz de sentir) e gera ondas ultrassônicas e o Echo recebe essas vibrações. Ele opera da seguinte forma: as ondas geradas pelo Trigger são projetadas para frente e batem em um objeto; as ondas que batem no objeto são refletidas e voltam para o sensor; as ondas retornadas são sentidas pelo Echo. Com isso, é possível saber a distância do objeto com base no tempo que as ondas demoram para ir e voltar.


Esquema do Projeto



Sketch do Projeto

#define Trig 2  //definir a porta digital  2 como  Trige
#define Echo 3  //definir a porta digital  3 como  Echo
float distancia; //variável que vai armazenar  distância

void leitura(); //função que vai fazer a  leitura da distância

void setup() {
  Serial.begin(9600); //iniciamos uma comunicação serial de 9600
  pinMode(Trig,OUTPUT);//configuramos o Trig como saida
  pinMode(Echo,INPUT); //configuramos o Echo como entrada
  digitalWrite(Trig,LOW); //iniciamos o Trig com nível lógico baixo 0 Volt
}
void loop() {
 leitura();//chama a função leitura
  distancia = distancia/2; //dividimos a distancia por 2, visto que é o tempo de ida e volta
  distancia = distancia*0.034;/* multiplicamos a distancia por 0,034 por causa da velocidade do som,
  (obs, se o programa nesse ponto der erro ao invés de 0,034 multiplicamos por 0,03429)*/
   Serial.print("distancia em cm:"); //tiramos um pronte da leitura
   Serial.println(distancia); //tramos esse printna tela do monitor
   delay(1000); //damos um delay para mostrar as informações bem legível, podendo sewr menor
}

void leitura(){ //função leitura
 digitalWrite(Trig,HIGH);//manda um sinal de nível lógico altopor 10 milissegundos
 delay(10);
 digitalWrite(Trig,LOW);//depois desliga
  distancia = pulseIn(Echo,HIGH);//lê o comprimento da onda alta
}



Comentários

Postagens mais visitadas deste blog

MONITORAMENTO DE NÍVEL DE CAIXA D'ÁGUA

BUZZER PASSIVO