El buscador de distancias basado en HC-SR04 indica la distancia hasta un obstáculo en centímetros. Tiene un alcance de 2 cm a 400 cm. El proyecto se basa en el AT89S52, que es un microcontrolador de la familia 8051. La distancia se muestra en pantallas de siete segmentos.
Componentes:
AT89S52
Tres 7 segundos. Gastos (Tipo de ánodo común)
HC-SR04 (módulo de sensor ultrasónico)
Conectores, PCB, etc.
El código está escrito en ensamblador y es fácilmente comprensible. El proyecto se puede utilizar en robots para evitar obstáculos, etc.
Laboral:
El funcionamiento de los sensores ultrasónicos es bastante sencillo y fácil de conectar con el microcontrolador. El módulo del sensor tiene 4 pines, de los cuales Pin-1 y Pin-4 son +Vcc y Gnd respectivamente. El pin 2 es el disparador y el pin 3 es el pin Echo.
Cuando se aplica un pulso alto de 10us al pin TRIG, el transmisor ultrasónico envía 8 pulsos consecutivos de frecuencia de 40kHz. Cuando se envía el octavo pulso, el pin ECHO del sensor se vuelve ALTO. Ahora, cuando las ondas ultrasónicas se reflejan desde cualquier superficie y son recibidas por el receptor, el pin ECHO pasa a BAJO. El tiempo que tarda en salir y regresar al sensor se utiliza para encontrar la distancia a la superficie reflectante.
Distancia en centímetros = (Tiempo/58) cms
En pulgadas = (tiempo/148)
La distancia también se puede calcular teniendo en cuenta la velocidad del sonido (=340m/s)
CÓDIGO Explicación:
· Las líneas de datos de las pantallas de siete segmentos están conectadas al puerto 0
· Port-1, Pin-0,1 y 2 son líneas seleccionadas para SSD
· P3.0 está conectado a Trig.
· P3.1 está conectado al pin Echo del módulo del sensor
· En la parte principal del programa, el primer temporizador 1 se inicializa en modo 2 (recarga automática de 8 bits).
Cuando P3.0 se establece en alto, se llama a la subrutina DELAY1. Después de 10us, P3.0 se restablece a 0
· Ahora se comprueba que P3.1 tenga una señal alta. A medida que P3.1 aumenta, se inicia el temporizador 1 y cada vez que se desborda, se incrementa el registro A.
· El valor del recuento cargado debe ser 58 (mencionado en la hoja de datos). De modo que después de 58 ciclos A se incrementa una vez. Pero como el retraso causado por las instrucciones debe compensarse, el valor de conteo que utilicé fue 45 (=> 255D-210D).
· El valor almacenado en A se utiliza para extraer la Distancia medida. Esto se hace mediante instrucción de División.
· El valor de datos de 8 bits se envía secuencialmente a la respectiva pantalla de 7 segmentos y se selecciona a través de las líneas de selección.
Código fuente del proyecto
###
ORG 00H
3 | ![]() |
Vídeo del proyecto

¡¡Dinos qué piensas!! Cancelar respuesta
Debes iniciar sesión para publicar un comentario.
¿Preguntas relacionadas con este artículo?