En este artículo les mostraré como CREAR un diseño para estacionamiento con ARDUINO utilizando un sensor ULTRASÓNICO de distancia, diodos LED, y un BUZZER.

A partir del diseño que se muestra más abajo, cada LED de acuerdo a los umbrales programados, estos es, de acuerdo a la distancia del sensor al objeto. Al mismo tiempo, para cada rango de distancia, el BUZZER sonará con una tonalidad diferente.

En el caso de usar un sensor de 4 pines, conectar el triggerpin al pin 6 del arduino y el echopin al pin 7 del arduino.

La lista de materiales es la siguiente:

[table id=5 /]

El código es el siguiente:

const float umbral1 = 25.0;
const float umbral2 = 15.0;
const float umbral3 = 5.0;

int cm = 0;

long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
// Reads the echo pin, and returns the sound wave travel time in microseconds
return pulseIn(echoPin, HIGH);
}

void setup() {
// Iniciamos el monitor serie
Serial.begin(9600);

// Modo entrada/salida de los pines
pinMode(8, OUTPUT);
pinMode(5, OUTPUT);
pinMode(2, OUTPUT);
pinMode(9, OUTPUT);

}
void loop() {

// Obtenemos la distancia
cm = 0.01723 * readUltrasonicDistance(6, 7);
Serial.print(cm);
Serial.println(» cm»);
delay(100); // Wait for 100 millisecond(s)

  if (cm < umbral1 && cm >= umbral2)

{
// Encendemos el LED verde
digitalWrite(8, HIGH);

tone(9, 2000, 200);

}
else if (cm < umbral2 && cm > umbral3)
{
digitalWrite(5, HIGH);
tone(9, 2500, 200);
}
else if (cm <= umbral3)
{
// Encendemos el LED rojo
digitalWrite(2, HIGH);
tone(9, 3000, 200);
}
else
{
// En caso diferente a los señalados, apagamos los LEDs y el BUZZER
digitalWrite(2, LOW);
digitalWrite(5, LOW);
digitalWrite(8, LOW);
noTone(9);
}
}

El vídeo explicativo para que puedan estudiar. Espero les sea de utilidad.

Por