terra121

RPI Ultrasonic

Feb 12th, 2025 (edited)
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import RPi.GPIO as GPIO
  2. import time
  3.  
  4. # Definir pines GPIO
  5. TRIG = 23  # Pin GPIO para TRIG
  6. ECHO = 24  # Pin GPIO para ECHO
  7.  
  8. # Configuración de los pines
  9. GPIO.setmode(GPIO.BCM)
  10. GPIO.setup(TRIG, GPIO.OUT)
  11. GPIO.setup(ECHO, GPIO.IN)
  12.  
  13. def medir_distancia():
  14.     """Mide la distancia con el sensor ultrasónico HC-SR04"""
  15.     # Enviar pulso de activación de 10us
  16.     GPIO.output(TRIG, True)
  17.     time.sleep(0.00001)  # 10 microsegundos
  18.     GPIO.output(TRIG, False)
  19.  
  20.     # Esperar a que la señal ECHO empiece (HIGH)
  21.     while GPIO.input(ECHO) == 0:
  22.         inicio = time.time()
  23.  
  24.     # Esperar a que la señal ECHO termine (LOW)
  25.     while GPIO.input(ECHO) == 1:
  26.         fin = time.time()
  27.  
  28.     # Calcular duración del pulso
  29.     duracion = fin - inicio
  30.  
  31.     # Convertir tiempo en distancia (velocidad del sonido = 343 m/s)
  32.     distancia = (duracion * 34300) / 2  # en cm
  33.  
  34.     return distancia
  35.  
  36. try:
  37.     while True:
  38.         distancia = medir_distancia()
  39.         print(f"Distancia: {distancia:.2f} cm")
  40.         time.sleep(1)  # Esperar 1 segundo
  41. except KeyboardInterrupt:
  42.     print("Saliendo...")
  43.     GPIO.cleanup()  # Limpiar configuración de los GPIO
  44.  
Advertisement
Add Comment
Please, Sign In to add comment