InicioHazlo Tu MismoMedir distancia con sonido
Si estamos construyendo un robot, se nos hace necesario detectar obstáculos, y conocer la distancia a la que se encuentran, necesitamos realizar esto de forma automática y con electrónica.
Existe un sensor, el HC-Sr04, el cual es capaz de emitir un sonido y captar el eco del mismo.
Medir distancia con sonido[arduino]
De este modo uno puede detectar la distancia a la que se encuentra un objeto.
Esto se base en el principio del sonar.
electronica
Básicamente si sabemos la velocidad del sonido y medimos el tiempo que tarde desde que sale hasta que regresa el sonido, podemos conocer la distancia.

El sensor ultrasónico es bastante sencillo de utilizar, se puede usar con cualquier microcontrolador.
Tiene dos pines de alimentación(5V) y dos pines para el control. Uno de disparo para que se inicie la emisión del sonido y otro de eco, que se pone en alto, un tiempo igual al que tardo el sonido en ir y volver.
Este tiempo es del orden de los us, y las velocidad del sonido es aproximadamente de 340m/s.

El esquema para la conexión con Arduino y un display LCD para presentar la información es:
tutorial
El scketch es el siguiente:


/*
 Codigo para Arduino, para medir distancias con el sensor ultrasonico
 HC-SR04 y visualizarla en un display LCD 16x2
  Circuito:
 * LCD RS pin- D12
 * LCD Enable pin - D11
 * LCD D4 pin - D5
 * LCD D5 pin - D4
 * LCD D6 pin - D3
 * LCD D7 pin - D2
 * Potenciometro de 10K :
 * El pin del medio a LCD Vo(pin3)
 * Los demas entre 5V y GND
 * Trigger HC-SR04 - D8
 * Echo HC-SR04 - D9
*/
// include the library code:
#include <LiquidCrystal.h>

//Inicializo la libreria del LCD con los pines correspondientes a la conexion realizada
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
long distancia;
long tiempo;

void setup() {
  // Configuracion del LCD 16x2 
  lcd.begin(16, 2);
  pinMode(9, OUTPUT); //Pin D9 como salida
  pinMode(8, INPUT); //Pind D8 como entrada

}

void loop() {
  lcd.clear(); //Limpio el LCD
  lcd.setCursor(0, 0); //Ubico el cursor
  digitalWrite(9,LOW); 
  delayMicroseconds(5);
  digitalWrite(9, HIGH); //Inicio el proceso de medicion
  delayMicroseconds(10); //El pulso de disparo debe estar en alto por 10us
  tiempo=pulseIn(8, HIGH); //Funcion para medir el tiempo en alto del pin echo
  distancia= int(0.01653*tiempo); //Convierto los us en cm, el tiempo es proporcional a la distancia
  lcd.print("Distancia: ");
  lcd.print(distancia);
  lcd.print("cm");
  delay(500);
}
Datos archivados del Taringa! original
20puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

_
_ArS_🇦🇷
Usuario
Puntos0
Posts6
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.