Загрузка данных


from machine import Pin, time_pulse_us
import time

# --- НАСТРОЙКА ---
# ВНИМАНИЕ: Trig должен быть на 4! (Не на 34)
trig = Pin(4, Pin.OUT)
echo = Pin(35, Pin.IN)

# Пин зуммера. Если не пищит, меняй на 5, 15 или 13
buzzer = Pin(4, Pin.OUT)
buzzer.value(0)

print("Система 'Глаз' запущена. Следи за консолью и слушай писк.")

while True:
    # Даем датчику "отдохнуть" 50 мс между замерами
    time.sleep(0.05) 
    
    # Отправляем импульс
    trig.value(1)
    time.sleep_us(10)
    trig.value(0)
    
    # Замеряем эхо (таймаут 30 мс)
    duration = time_pulse_us(echo, 1, 30000)
    
    if duration > 0:
        distance = (duration * 0.0343) / 2
        
        # Если объект в пределах 2 метров
        if distance < 200:
            print(f"Расстояние: {distance:.1f} см")
            
            # --- ЛОГИКА ПИСКА ---
            # Если край стола близко (меньше 15 см) - пищим очень часто
            if distance < 15:
                buzzer.value(1)
                time.sleep(0.05)
                buzzer.value(0)
                time.sleep(0.05)
            # Если объект на расстоянии 15-50 см - пищим пореже
            elif distance < 50:
                buzzer.value(1)
                time.sleep(0.1)
                buzzer.value(0)
                time.sleep(0.2)
            # Если далеко - пищим редко
            else:
                buzzer.value(1)
                time.sleep(0.1)
                buzzer.value(0)
                time.sleep(0.5)
        else:
            buzzer.value(0) # Слишком далеко, молчим
    else:
        print("Ошибка: нет сигнала от датчика. Проверь провода.")
        buzzer.value(0)

    time.sleep(0.01) # Небольшая пауза в самом конце