terça-feira, 30 de junho de 2015

Detetar objetos e medir distâncias com o Arduino

Em linha de conta com as duas ultimas publicações sobre o sensor HC-SR04 este tutorial, tem por objetivo dar a conhecer as suas capacidades. Aqui vamos demonstrar este em funcionamento simultâneo como  detetor de objetos e medidor de distâncias.



Para demonstrar, o funcionamento do sensor HC-SR04 como detector de objetos e medidor de distâncias simultaneamente, recorremos ao que foi elaborado nas duas ultimas publicações sobre este sensor.
Tanto ao nível do esquema como do bloco de código, foi feito o aproveitamento do que tínhamos elaborado na ultima duas publicações.
Desta forma muito simples o nosso sistema vai ser capaz de determinar se um objecto se encontra no seu raio de ação e a que distancia está do mesmo sendo os resultados exibidos através do ”Monitor Série” e da alteração da cor dos leds.


 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
Neste terceiro ensaio vamos utilizar o circuito desenvolvido para o projeto "Detetar objetos com o Arduino e o Sensor HC-SR04", o esquema é o mesmo sendo a grande alteração apenas feita ao nível do 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 incorrecta, pode ficar danificado.



Descrição de funcionamneto
  • Se não estiver qualquer objecto no campo de ação do sensor os leds verdes estão "ON" ligados, e os leds vermelhos estão "OFF" desligados e no ”Monitor Série” podemos ver a indicação de que não existe qualquer objeto na área de ação.
  • Se tivermos um objeto na área de ação do sensor os leds verdes passam a estar "OFF" desligados, e os leds vermelhos passam a "ON" ligados e no ”Monitor Série” podemos ver que existe um dado objeto nas proximidades e a que distancia se encontra do mesmo.


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
         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
#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);
 
   //.....Objects detector .....

    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
    }

     //......Meter distances .....

    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);
  }


Video De Demonstração




Links úteis



Ficheiros para Download



Considerações Finais

Após a elaboração de mais este projecto, fica-se mais uma vez com a ideia que a utilização do sensor HC-SR04 como um detetor de objetos e medidor de distâncias é 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