segunda-feira, 22 de junho de 2015

Detetar objetos com o Arduino e o sensor HC-SR04

O objectivo deste tutorial é dar a conhecer o sensor HC-SR04 em funcionamento como um simples detetor de objetos.




Para a elaboração deste projecto, foi elaborado um circuito muito simples, constituído por um Arduino, um sensor HC-SR04 e alguns leds, 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 detetar um determinado objeto que se encontra no seu raio de ação.

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



Esquema de montagem 
Para este projeto, elaboramos um esquema de montagem muito simples, este em conjunto com o bloco de código criado vai permitir detetar a presença de um objeto na proximidade do sensor.
A deteção do objeto é indicada pela alteração de cor dos leds, sendo que:
  1. Não deteta qualquer objecto no seu campo de ação, os leds verdes estão "ON" ligados, e os leds vermelhos estão "OFF" desligados.
  2. Deteta um objeto no seu campo de ação os leds verdes passam a estar "OFF" desligados, e os leds vermelhos passam a "ON" ligados. 
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 incorrecta, 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        
                                               
    Detector de Objectos/ Objects detector  
         Código em inglês/ English Code      
**************************************************/

//Definição dos pinos de ligação
//Define pins
#define trigPin 13
#define echoPin 12
#define led 11
#define led2 10

void setup()
  {
    Serial.begin (9600);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    pinMode(led, OUTPUT);
    pinMode(led2, OUTPUT);
  }
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)        //Definição da área de ação (em cm)
    {                                 //Distance definition (cm)
      digitalWrite(led,HIGH); // red LED on
      digitalWrite(led2,LOW); // green LED off
    }
    else
    {
      digitalWrite(led,LOW);   // red LED off
      digitalWrite(led2,HIGH); // green LED on
    }
    delay(500);
  }




Video 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 detetor de objetos é muito simples 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 em áreas como a Domótica, Robótica e muito 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