0. Componentes e programação necessária para o Módulo Sensor de Ultrassom HC-SR04

Componentes necessários:

{Produto: 2.000} {Produto: 337}
  • • Cabos Dupont

I. Como usar o Módulo Sensor de Ultrassom HC-SR04 Módulo de Medição de Distância

HC-SR04 é um clássico dos módulos de medição de distância para Arduino . Seu sucesso se deve à facilidade e simplicidade de fazê-lo funcionar em projetos do Arduino , PIC ou qualquer outro microcontrolador. Em seu pino de saída, podemos medir a largura do pulso PWM com base na distância do obstáculo.

II. Procedimentos experimentais

Conexão

O módulo é alimentado diretamente por Arduino , portanto, não precisamos de uma fonte de alimentação externa.

Os pinos são conectados de acordo com a tabela:

Módulo Pin

Pino de Arduino UNO

Vcc

5V

JOGOU FORA

D2

TRIG

D3

GND

GND

O diagrama é, portanto, o seguinte:

Para gerar o ultrassom, precisamos definir o Trigger Pin em um estado alto por 10 µs. Isso enviará uma explosão sônica de 8 ciclos que viajará na velocidade do som e será recebida no pino de eco. O Echo Pin irá gerar o tempo em microssegundos que a onda de som viajou.

Por exemplo, se o objeto está a 20 cm do sensor e a velocidade do som é 340 m / s ou 0,034 cm / µs, a onda sonora precisará viajar cerca de 588 microssegundos. Mas o que você obterá do pino de eco será o dobro desse número, porque a onda sonora deve viajar para frente e retornar. Portanto, para obter a distância em cm, precisamos multiplicar o valor do tempo de viagem recebido do pino de eco por 0,034 e dividi-lo por 2.

Código

Para o código de programação, devemos primeiro definir o Trigger Pin e o Echo Pin que foram conectados à placa Arduino . Neste projeto, EchoPin é anexado a D2 e TrigPin a D3. Em seguida, defina variáveis para distância (int) e duração (longo).

Abra um novo esboço e cole o seguinte código:

const int EchoPin = 2;

const int TriggerPin = 3;

void setup () {

Serial.begin (9600);

pinMode (TriggerPin, OUTPUT);

pinMode (EchoPin, INPUT);

}

void loop () {

int cm = ping (TriggerPin, EchoPin);

Serial.print ("Distância medida:");

Serial.println (cm);

atraso (1000);

}

// Cálculos para distância

int ping (int TriggerPin, int EchoPin) {

longa duração, distanceCm;

digitalWrite (TriggerPin, LOW); // para gerar um pulso limpo, definimos LOW 4us

atrasoMicrosegundos (4);

digitalWrite (TriggerPin, HIGH); // geramos gatilho (gatilho) de 10us

delayMicroseconds (10);

digitalWrite (TriggerPin, LOW);

duração = pulseIn (EchoPin, HIGH); // medimos o tempo entre os pulsos, em microssegundos

distanceCm = duração * 10/292/2; // converter para distância, em cm

return distanceCm;

}

Agora, uma vez que o código é carregado, se abrirmos o Monitor Serial em Ferramentas, podemos ver a distância na qual posicionamos os objetos na frente do sensor. Experimente aumentar e diminuir o zoom.

Por outro lado, uma biblioteca interessante que você pode usar com este módulo é NewPing.h