Menu
CoddyTech

Sensor de estacionamiento: luces

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

Nadie lee los números al aparcar. Los tres LED convierten la distancia en un color: verde en el pin 6 cuando el camino está despejado, amarillo en el pin 7 cuando te estás acercando, rojo en el pin 13 cuando debes detenerte.

Tres rangos y exactamente un LED para cada uno. Una cadena de if / else if / else encaja, porque solo se ejecuta una de sus ramas:

if (cm >= 100) {
  // verde
} else if (cm >= 30) {
  // amarillo: de 30 a 99
} else {
  // rojo: menos de 30
}

La segunda prueba no necesita decir cm < 100: else significa que la primera prueba fue falsa, así que la distancia ya es inferior a 100.

Apaga los tres LED antes de encender uno, como con el semáforo. De lo contrario, el amarillo se queda encendido cuando se enciende el rojo.

challenge icon

Desafío

Fácil

Muestra la distancia con un color:

  • configura los pines 6, 7 y 13 como salidas
  • 100 cm o más: solo verde
  • de 30 a 99 cm: solo amarillo
  • menos de 30 cm: solo rojo

Sigue mostrando la distancia. Pulsa Run, arrastra la distancia del 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() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration / 58;
}

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

void loop() {
  long cm = readDistance();
  Serial.println(cm);
  delay(100);
}
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