🤖 Робототехника 🚗 Робомашинка
1 2 3 4 5 6 7 8 9 10 11 12
Урок 10 · код

Автопилот-помощник

Цель урока Заставить компьютер помогать водителю: автотормоз перед стеной и показ датчиков линии. Это первый шаг к «умной» машине.

🛑 Автотормоз

Держим «глаз» прямо по курсу (car.radar.look(90)) и каждый кадр меряем расстояние. Если впереди ближе 20 см — запрещаем ехать вперёд и мигаем «СТОП». Логика — обычный if:

front_cm = car.radar.measure()      # сколько см до стены
blocked = front_cm < 20             # стена близко?

if keys[pygame.K_UP] and not blocked:
    car.forward(SPEED)            # вперёд можно
elif ...                          # назад/повороты — как обычно

Так машина не врежется, даже если водитель давит «вперёд». Компьютер страхует.

▣ Датчики линии на экране

Одной командой читаем три датчика линии и рисуем три кружка: горит зелёным, когда датчик видит линию:

line = car.line.read()            # [слева, центр, справа], напр. [0,1,0]

Запусти autopilot.py: едешь стрелками, но у стены машина сама тормозит.

⬇️ autopilot.py robot.py
💡 Кто принимает решение? Заметь: «тормозить или нет» решает наш Python, а не Arduino. Плата лишь даёт числа с датчиков, а ум — на ноутбуке. Так удобно: правила поведения легко менять в понятном Python-коде.
✅ Проверка (а потом — идея!) Машина тормозит перед стеной, кружки датчиков линии загораются. Идея для смелых: когда впереди стена — пусть машина сама чуть повернёт (car.right_turn()), чтобы объехать.

🧠 Проверь себя

Выбери ответ. Ошибёшься — 30 секунд на то, чтобы вернуться в урок и перечитать.

Как работает автотормоз?

✅ Машина не врежется, даже если водитель давит «вперёд». Компьютер страхует.

Кто принимает решение тормозить?

✅ Ум — на ноутбуке. Поэтому правила поведения легко менять в понятном Python-коде.
← НазадУрок 9 — Радар