Menu
CoddyTech

Sensor de estacionamiento: distancia

Parte de la sección Proyectos del Journey de Arduino de Coddy. Lección 9 de 24.

Los coches tienen sensores de aparcamiento que emiten pitidos más rápidos a medida que retrocedes hacia una pared. Este proyecto construye uno: un sensor de distancia, tres luces de advertencia, un zumbador y una pantalla, todo ya conectado. El primer paso es la medición.

Al igual que en Pantallas y sensores, un pulso de 10 microsegundos en TRIG envía una señal, y pulseIn(echoPin, HIGH) devuelve cuánto tiempo permaneció ECHO en HIGH, en microsegundos. El sonido tarda unos 58 microsegundos en recorrer un centímetro y volver, así que la distancia en cm es ese tiempo dividido entre 58 (lo mismo que duration * 0.034 / 2). Mantén todo en una sola función:

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

Mide unas diez veces por segundo: el sensor necesita un breve descanso entre señales, o un eco tardío de la última puede confundirse con el de la nueva.

challenge icon

Desafío

Fácil

El sensor tiene TRIG en el pin 9 y ECHO en el pin 10:

  • escribe readDistance(): el pulso de disparo, pulseIn() y el tiempo dividido entre 58
  • en loop(), imprime la distancia con Serial.println() cada 100 ms

Pulsa Run, arrastra la distancia sobre el sensor y después pulsa Check.

Pruébalo tú mismo

// El sensor de distancia
const int trigPin = 9;
const int echoPin = 10;

// Envía un pulso y devuelve la distancia en cm.
long readDistance() {

}

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

void loop() {
  // imprime la distancia y luego espera 100 ms

}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Proyectos

Practica por tu cuenta: Playground de Arduino