Facebook
From del ray 3, 8 Months ago, written in Plain Text.
This paste is a reply to Re: measure distance from del ray 2 - go back
Embed
Viewing differences between Re: measure distance and Re: Re: measure distance
def measure_distance(trig_pin, echo_pin, num_readings=5):
    distances = []

    for _ in range(num_readings):
        GPIO.output(trig_pin, True)
        time.sleep(0.00001)
        GPIO.output(trig_pin, False)

        pulse_start = time.time()
        pulse_end = time.time()

        while GPIO.input(echo_pin) == 0:
            pulse_start = time.time()

        while GPIO.input(echo_pin) == 1:
            pulse_end = time.time()

        pulse_duration = pulse_end - pulse_start
        distance = pulse_duration * 17150  # Speed of sound = 34300 cm/s
        distances.append(distance)

    avg_distance = sum(distances) / num_readings
    return avg_distance


import RPi.GPIO as GPIO
import time
import pygame

# ... (rest of the code remains the same)

try:
    people_inside = 0  # Counter for people inside the room
    entry_cooldown = False  # Flag to prevent rapid multiple entries

entries
    exit_cooldown = False  # Flag to prevent rapid multiple exits

    while True:
        enter_distance = measure_distance(ENTER_TRIG_PIN, ENTER_ECHO_PIN, num_readings=5)
        exit_distance = measure_distance(EXIT_TRIG_PIN, EXIT_ECHO_PIN, num_readings=5)

        # Detecting if someone is within 30 cm range
range for entry
        if enter_distance < 30 and not entry_cooldown:
            people_inside += 1
            entry_cooldown = True
            time.sleep(2)  # Cooldown Entry cooldown period, adjust as needed

        # Detecting if someone is within 30 cm range for exit
        
if exit_distance < 30 and people_inside > 0:
            
0 and not exit_cooldown:
            
people_inside -= 1

1
            exit_cooldown = True
            time.sleep(2)  # Exit cooldown period, adjust as needed

        if people_inside > 0:
            play_audio()
            control_led_strip(GPIO.HIGH)
        else:
            stop_audio()
            control_led_strip(GPIO.LOW)

        if not (enter_distance < 30):
            entry_cooldown = False

        if not (exit_distance < 30):
            exit_cooldown = False

except KeyboardInterrupt:
    GPIO.cleanup()
    pygame.mixer.quit()

Replies to Re: Re: measure distance rss

Title Name Language When
Re: Re: Re: measure distance del ray 4 text 8 Months ago.