Menu
CoddyTech

Sensor de Estacionamento: Distância

Parte da seção Projetos do Journey de Arduino da Coddy. Lição 9 de 24.

Carros têm sensores de estacionamento que apitam mais rápido conforme você dá ré em direção a uma parede. Este projeto constrói um: um sensor de distância, três luzes de aviso, um buzzer e uma tela, tudo já conectado. O primeiro passo é a medição.

Assim como em Visores e sensores, um pulso de 10 microssegundos em TRIG envia um sinal, e pulseIn(echoPin, HIGH) retorna por quanto tempo ECHO permaneceu em HIGH, em microssegundos. O som leva cerca de 58 microssegundos para percorrer um centímetro e voltar, então a distância em cm é esse tempo dividido por 58 (o mesmo que duration * 0.034 / 2). Mantenha tudo em uma única função:

long readDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration / 58;
}

Faça a medição cerca de dez vezes por segundo: o sensor precisa de uma breve pausa entre os sinais, ou um eco atrasado do sinal anterior pode ser confundido com o novo.

challenge icon

Desafio

Fácil

O sensor tem TRIG no pino 9 e ECHO no pino 10:

  • escreva readDistance(): o pulso de disparo, pulseIn() e o tempo dividido por 58
  • em loop(), imprima a distância com Serial.println() a cada 100 ms

Pressione Executar, arraste a distância no sensor e, em seguida, Verificar.

Experimente você mesmo

// O sensor de distância
const int trigPin = 9;
const int echoPin = 10;

// Envie um pulso e retorne a distância em cm.
long readDistance() {

}

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  // imprima a distância e depois aguarde 100 ms

}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Projetos

Pratique por conta própria: Playground de Arduino