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


from machine import Pin, time_pulse_us
import time

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

# Зуммер (на плате расширения он обычно висит на пине 4 или 5. 
# Если не пищит, попробуй поменять на 5 или 15)
buzzer = Pin(15, Pin.OUT)

def measure_distance():
    # Отправляем импульс на Trig
    trig.value(0)
    time.sleep_us(2)
    trig.value(1)
    time.sleep_us(10)
    trig.value(0)
    
    # Замеряем длину импульса на Echo
    try:
        duration = time_pulse_us(echo, 1, 30000) # Ждем до 30 мс
        if duration < 0:
            return -1
        # Скорость звука: 343 м/с = 0.0343 см/мкс. Делим на 2 (туда и обратно)
        distance = (duration * 0.0343) / 2
        return distance
    except OSError:
        return -1

print("Парктроник запущен! Подноси руку к датчику.")

while True:
    dist = measure_distance()
    
    if dist > 0 and dist < 100: # Если объект ближе 1 метра
        print(f"Расстояние: {dist:.1f} см")
        
        # Чем ближе, тем короче пауза (чаще писк)
        if dist < 10:
            buzzer.value(1)
            time.sleep(0.05)
            buzzer.value(0)
            time.sleep(0.05)
        elif dist < 30:
            buzzer.value(1)
            time.sleep(0.1)
            buzzer.value(0)
            time.sleep(0.2)
        else:
            buzzer.value(1)
            time.sleep(0.2)
            buzzer.value(0)
            time.sleep(0.5)
    else:
        # Если далеко или нет сигнала - тишина
        buzzer.value(0)
        time.sleep(0.1)