El sensor de distanciamiento social Arduino regula el distanciamiento social a través de un sensor ultrasónico y un LED.
Componentes
- Arduino UNO
- Protoboard
- Sensor ultrasónico – HC-SR04
- LED
- Cables de puente macho / hembra
¿Como funciona? –
Funciona mediante el sensor ultrasónico que envía pulsos altos y bajos para medir la distancia entre él y un obstáculo o una persona. Esto se hace convirtiendo el tiempo que tardó el pulso en volver a una distancia (cm en este caso).
Después de medir la distancia, he codificado el LED para que se encienda si está a menos de 50 cm de distancia (esta cantidad se puede ajustar fácilmente cambiando el valor en la declaración IF) y se apaga cuando está a más de 50 cm de distancia. Aquí hay un video que muestra cómo funciona.
La realización del circuito –
Al principio, estaba planeando conectar todos los componentes a la placa de mi circuito y no al Arduino en sí, pero después de algunas pruebas, me di cuenta de que era mucho más fácil conectar el sensor ultrasónico al Arduino mientras conectaba el LED a la placa. De esta manera, también podría hacer algo de espacio para el LED en sí porque el sensor ultrasónico habría ocupado la mayor parte del espacio de la placa de pruebas mini.
La elaboración del código –
Primero desarrollé pseudocódigo y diagramas de flujo para visualizar mi código y cómo funcionaría. Esto ayudó mucho a desarrollar la estructura y secuenciación del código. Después de algunos ajustes, este fue mi diagrama de flujo final.
Después de planificar el código, pude progresar fácilmente en la codificación del LED, pero estaba atascado en el desarrollo del código para el sensor ultrasónico, ya que era la primera vez que codificaba algo como esto.
El sensor ultrasónico funciona enviando ondas sonoras que rebotan de un objeto que golpea de nuevo en el sensor. Para utilizar esto en un sensor de distanciamiento social, tendría que convertir el tiempo que tardó el pulso en recuperarse en centímetros. Logré este proceso utilizando este proceso.
Después de investigar un poco, descubrí que para que el sensor ultrasónico funcione desde el código, tendría que programarlo para que dispare un pulso bajo, alto y bajo. Esto fue para producir un pulso limpio a partir del pulso alto. Después de averiguar los pines correspondientes para los componentes de eco y disparo del sensor, estaba listo para codificar una declaración IF para encender el LED cuando había un objeto dentro de un alcance de 50 cm. Esta fue definitivamente la parte más fácil del código.
Código
int trigger_pin = 2 ;
int echo_pin = 3 ;
int buzzer_pin = 10 ;
int time ;
int distancia ;
configuración vacía ( ) {
Serial . comenzar ( 9600 );
pinMode ( trigger_pin , SALIDA );
pinMode ( echo_pin , ENTRADA );
pinMode ( buzzer_pin , SALIDA );
pinMode ( 13 , SALIDA );
}
bucle vacío ( ) {
digitalWrite ( trigger_pin , ALTO );
delayMicroseconds ( 10 );
digitalWrite ( trigger_pin , BAJO );
time = pulseIn ( echo_pin , HIGH );
distancia = ( tiempo * 0.034 ) / 2 ;
si ( distancia <= 50 )
{
Serial . print ( "Distancia =" );
Serial . println ( distancia );
digitalWrite ( 13 , ALTO );
retraso ( 500 );
}
else {
\
Serial . print ( "Distancia =" );
Serial . println ( distancia );
digitalWrite ( 13 , BAJO );
retraso ( 500 );
}
}
-
Arduino ATmega 2560 R3¡Oferta!
$20.50$19.00 -
Arduino Uno Wifi¡Oferta!
$15.00$13.00 -
Arduino Mini USB Nano V3.0 CH340 Chip Board 5V 16M + Cable¡Oferta!
$9.00$8.50