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 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 for entry if enter_distance < 30 and not entry_cooldown: people_inside += 1 entry_cooldown = True time.sleep(2) # Entry cooldown period, adjust as needed # Detecting if someone is within 30 cm range for exit if exit_distance < 30 and people_inside > 0 and not exit_cooldown: people_inside -= 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()