Итог

Ты собрал робота, который ездит сам, — и у него нет программы. Всё его «поведение» — это несколько формул, и каждую ты вывел из того, что робот должен делать:

  • манёвр — шаги счётчика CD4017: вперёд → назад 0,4 с → разворот 0,4 с → вперёд;
  • ждать удара — HOLD = НЕ-ИЛИ(NFWD, TRIP): счётчик стоит на шаге 0, пока нет повода;
  • колёса — LDIR = НЕ BACK, RDIR = НЕ-ИЛИ(BACK, TURN);
  • сантиметры — такты 8 кГц, пока горит эхо: 1 такт — 1 см; стоп на 99; число — в регистр, чтобы табло не мигало;
  • близко — десятки < 2 (CD4585), защёлкнуть на шаге «показать»;
  • повод для манёвра — TRIP = HIT ИЛИ NEAR;
  • по линии — колесо крутится, пока его датчик не видит линию: LON = НЕ-ИЛИ(SL, NGO).
TRIP = HIT + NEARHOLD = NOR(NFWD, TRIP)LDIR = NOT BACKRDIR = NOR(BACK, TURN)NEAR: десятки < 2, защёлка на SHOW
Робот целиком: путь пера на арене — развороты в 20 см от стенок и препятствия, и формулы, из которых складывается его «характер».

Что дальше

  • Поменяй порог: B у CD4585 = 3 — робот будет разворачиваться в 30 см, B = 1 — в 10.
  • Поменяй местами LDIR и RDIR на шасси — робот станет разворачиваться против часовой.
  • Нарисуй свою трассу мышью — одна замкнутая линия, плавные повороты, без перекрёстков.
  • Поставь второго робота на ту же арену: ультразвук видит и корпус другого робота.