Project

General

Profile

ultrasonico2.py

Sensor Ultrasonico - Ignacio Garrido, 12/11/2024 12:28 AM

Download (1.03 KB)

 
1
# -*- coding: utf-8 -*-
2

    
3
import RPi.GPIO as GPIO
4
import time
5

    
6
GPIO.setmode(GPIO.BCM)
7
TRIG = 3  # Pin Trigger
8
ECHO = 4  # Pin Echo
9

    
10
GPIO.setup(TRIG, GPIO.OUT)
11
GPIO.setup(ECHO, GPIO.IN)
12

    
13
def medir_distancia():
14
    # Asegúrate de que Trigger esté en bajo
15
    GPIO.output(TRIG, False)
16
    time.sleep(2)
17

    
18
    # Enviar pulso de 10us al Trigger
19
    GPIO.output(TRIG, True)
20
    time.sleep(0.00001)
21
    GPIO.output(TRIG, False)
22

    
23
    # Medir tiempo de respuesta del Echo
24
    while GPIO.input(ECHO) == 0:
25
        pulso_inicio = time.time()
26

    
27
    while GPIO.input(ECHO) == 1:
28
        pulso_fin = time.time()
29

    
30
    # Calcular la duración del pulso
31
    duracion_pulso = pulso_fin - pulso_inicio
32

    
33
    # Calcular distancia (34300 cm/s es la velocidad del sonido)
34
    distancia = duracion_pulso * 17150  # cm
35
    distancia = round(distancia, 2)
36

    
37
    return distancia
38

    
39
try:
40
    while True:
41
        distancia = medir_distancia()
42
        print("Distancia:", distancia, "cm")
43
        time.sleep(1)
44
except KeyboardInterrupt:
45
    print("\nSaliendo...")
46
finally:
47
    GPIO.cleanup()