Arduino, Internet das Coisas e Computação vestível

[Voltar]

[Avançar]

Módulo Sensor Ultrassônico HC-SR04

Descrição

O Sensor ultrassônico HC-SR04 é capaz de medir distâncias de 2cm a 4m com ótima precisão e baixo preço. Este módulo possui um circuito pronto com emissor e receptor acoplados e 4 pinos (VCC, Trigger, ECHO, GND) para medição.

Caracteristicas:

  • Tensão de Alimentação: 5VDC
  • Corrente quiescente: < 2mA
  • Corrente em funcionamento: 15mA
  • Ângulo de medida: < 15°
  • Distância de detecção: de 2cm a 400cm
  • Resolução: 3mm
  • Dimensões: 45mm x 20mm x 15mm
  • Frequência ultrasônica: 40kHz

Pinagem:

  • VCC: 3,3 a 5V DC
  • TRIG: Sinal responsável por disparar o pulso ultrassônico.
  • ECHO: Sinal responsável por gerar um pulso com o mesmo tempo necessário para o eco ser recebido pelo sensor;
  • GND: terra.

Bilioteca:

Baixe a biblioteca: https://github.com/ErickSimoes/Ultrasonic

Outras informações: datasheet-hc-sr04.


Projeto(s) relacionado(s)


Projeto bengala para cego

Este projeto utiliza Módulo Sensor Ultrassônico HC-SR04, placa Arduino Uno R3 e Módulo Buzzer Ativo KY-012. Através do Sensor Ultrassônico é obtida a distancia que separa o sujeito dos obstáculos a frente. Conforme a aproximação é emitido um sinal sonoro mais frequente e intenso.

/* 
Projeto: Bengala para cegos 
Autor: André Silveira
Data: 02/04/2019 
*/

#include "Ultrasonic.h"

int PINO_TRIG = 5;
int PINO_ECHO = 6;
int PINO_BUZZER = 10;
int distancia;

Ultrasonic ultrasonic(PINO_TRIG, PINO_ECHO);

void setup() {
     Serial.begin(9600);
     pinMode(PINO_BUZZER,OUTPUT);    // Pino do buzzer
}

void loop() {

    distancia = ultrasonic.read();           // Informe INC para obter distancia em polegadas
    Serial.print("Distância em CM: ");
    Serial.println(distancia);
    
    // Distância menor que 1 metro
    if (distancia <= 100) {    
        tone(PINO_BUZZER,262,300);
        delay(1000);                             // Pausa pelo tempo de 1 segundo (milissegundos)
    }
    
    // Distância maior que 1 metro e menor que 2 metros
    if (distancia > 100 and distancia <= 200 ) {    
        tone(PINO_BUZZER,262,300);
        delay(2000);                             // Pausa pelo tempo de 2 segundos (milissegundos)
    }
    
    // Distância maior que 2 metros
    if (distancia > 200 ) {    
        tone(PINO_BUZZER,262,300);
        delay(3000);                             // Pausa pelo tempo de 3 segundos (milissegundos)
    }    
    Serial.println(distancia);   

}



Na versão abaixo, a biblioteca "Ultrasonic.h" não é utilizada. O circuito utiliza Módulo Sensor Ultrassônico HC-SR04, placa Arduino Uno R3, Módulo Buzzer Ativo KY-012 e LED RGB. Através do Sensor Ultrassônico é obtida a distancia que separa o sujeito dos obstáculos a frente. Conforme a aproximação ao sensor é emitido um sinal sonoro mais frequente e intenso. Também é alterada a cor do LED.

/* 
Projeto: Bengala para cegos 
Autor: André Silveira
Data: 02/04/2019 
*/

int PINO_TRIG = 6;
int PINO_ECHO = 5;
int PINO_BUZZER = 3; 
int LED_RED = 11;
int LED_BLUE = 10;
int LED_GREEN = 9;
float distancia;

void setup() {
    Serial.begin(9600);  
    pinMode(PINO_TRIG , OUTPUT);
    pinMode(PINO_ECHO , INPUT);
    pinMode(PINO_BUZZER,OUTPUT);   
    pinMode(LED_RED, OUTPUT);
    pinMode(LED_BLUE, OUTPUT);
    pinMode(LED_GREEN, OUTPUT);  
    ligaled(0, 0, 0);
}

void loop() {

    distancia = Ultrasonic(PINO_TRIG, PINO_ECHO);      
  
    Serial.print("Distancia em cm: ");
    Serial.println (distancia);   
  
    // -- Distância menor que 1 metro

    if (distancia <= 100) {    
        tone(PINO_BUZZER,330,300);  
        ligaled(255, 0, 0);      
        delay(10);      
    } else {
 
          // -- Distância maior que 1 metro e menor que 2 metros

           if (distancia <= 200 ) {    
               tone(PINO_BUZZER,330,300);   
               ligaled(255, 255, 0);
               delay(250);      
           } else { 

                  // -- Distância maior que 2 metros e menor que 3 metros

                  if (distancia <= 300 ) {    
                      tone(PINO_BUZZER,330,300); 
                      ligaled(0, 0, 255);
                      delay(500);      
                  } else{
                          ligaled(0, 0, 0);
                          }
           	  }
           }            
}

float Ultrasonic (int PINO_TRIG, int PINO_ECHO) {

      int distancia=0;
      while(distancia == 0) {
            digitalWrite(PINO_TRIG, 0);
            delayMicroseconds (5);          
            digitalWrite(PINO_TRIG, 1);
            delayMicroseconds(10); 
            float tempo = pulseIn (PINO_ECHO, 1);               
            distancia = (tempo/2/29.15);
      }
      return distancia;
}

int ligaled(int r, int g, int b) {   
 
    analogWrite(LED_RED, r);  
    analogWrite(LED_GREEN, g);  
    analogWrite(LED_BLUE, b);  

}

Global Sounds

É uma instalação de arte interativa que visa reunir pessoas no espaço público. Uma série de pirâmides foram criadas, cada uma programada para tocar diferentes partes instrumentais de uma música quando fosse detectada a presença humana. As partes da música podem ser acionadas ao mesmo tempo, enriquecendo sua reprodução. Para detectar a presença humana utiliza o Módulo Sensor Ultrassônico HC-SR04. A música foi escrita especialmente para o projeto e mistura instrumentos de diferentes culturas, fazendo alusão a riqueza multicultural no mundo.

URL: http://rebecca-gischel.de/globalsounds.html

 

 

[Voltar]

[Avançar]