domingo, 14 de junho de 2015

Medir distâncias com o Arduino e o sensor HC-SR04

O objetivo deste tutorial é dar a conhecer o sensor HC-SR04 em funcionamento como um simples medidor de distâncias.



Para tal foi elaborado um circuito muito simples, constituído por um Arduino e um sensor HC-SR04, tendo sido ainda criado um bloco de código, para de uma forma muito simples demonstrar o funcionamento do sensor.
O sensor HC-SR04, permite medir a distância que vai deste a um determinado objeto que se encontre no seu raio de ação.

 Material necessário
  • Arduino Duemilanove ou outra versão;
  • Sensor HC-SR04
  • Placa breadboard;
  • Vários jumpers (fios condutores para as ligações)



Esquema de montagem
Para este projeto, elaboramos um esquema muito simples, este em conjunto com o bloco de código criado vai permitir calcular a distância do nosso sensor a um objeto e obter essas leituras no ”Monitor Série”, a distância é dada em “cm” mas, pode facilmente ser representado em outras unidades de medida com algumas pequenas alterações no código.

Atenção a montagem dos componentes deve ser feita de acordo com o esquema seguinte:


Nota: Muito cuidado ao ligar o sensor HC-SR04, se este for ligado de forma incorreta, pode ficar danificado.



Código Fonte
Código desenvolvido e com o qual iremos programar o nosso Arduino, este é o responsável pelo funcionamento do sistema de acordo com o pretendido.

/*******************************************************
                          TecnoDomos                  
        Codigo para teste do sensor HC-SR04      
              Software for testing HC-SR04        
                                               
        Medidor de distâncias/ Meter distances    
             Código em inglês/ English Code      
*******************************************************/

//Definição dos pinos de ligação
//Define pins

#define trigPin 13
#define echoPin 12

void setup()
{
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
void loop()
{
  long duration, distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;

  if (distance >20 || distance <= 0) //Definição das áreas de exclusão (em cm)
  {                                  //Exclusion area (cm)
    Serial.println("Out of range/Fora de alcance");
  }
  else
  {
    Serial.print(distance);
    Serial.println(" cm");
  }
  delay(500);
}



Vídeo de Demonstração 



Links úteis

Ficheiros para Download


Considerações Finais

Após a elaboração e teste desta montagem fica-se com a ideia que a utilização do sensor HC-SR04 como um simples medidor de distâncias é algo muito básico e que facilmente se pode transformar este projecto em outros com diferentes funcionalidades.

O HC-SR04 é um sensor que tem uma ampla aplicabilidade em montagens nas áreas da Domótica, Robótica e muitas mais.


Esperamos que este artigo tenha sido útil e se gostaram comentem e partilhem. Alguma dúvida ou questão deixem em comentário ou utilizem o formulário de contatos.


Um bom dia em nome da TecnoDomos.


Conteúdo redigido ao abrigo do novo Acordo Ortográfico.

Sem comentários:

Enviar um comentário