понедельник, 7 декабря 2015 г.

Решение задачи №8: Заводной робот

Детская заводная игрушка РОБОТ, выпуска 70-80гг. решала нашу восьмую задачу без всякого сложного программирования и даже не обладая никакой электроникой.



Но так как мы с вами учимся "робототехнировать" %),  для решения задачи нам потребуется собрать 3 моторного робота - два мотора для движения и мотор-"заводной ключ" для "завода пружины". Поворачивая вал третьего "мотора с ключом" мы будем заводить воображаемую пружину.


Заводить робота можно в несколько подходов, перехватывая руку между ними, при этом робот не должен начинать движение. 
Робот поедет вперед после последнего завода воображаемой пружины, без нажатия каких-либо кнопок. Чем сильнее мы "завели" робота, тем дальше он проедет.

Алгоритм решения данной задачи приведен ниже. 

// Робот начнет движение, если его "завести"
// и не трогать 1 секунду
// Переменная С равна 1 пока мы "заводим" робота
С = 1

ЦИКЛ_ПОКА (C равно 1)
  {
  // В переменные E1 и E2 записываем показания
  // с датчика оборотов с разницей в 1 секунду
  E1 = ДАТЧИК_ОБОРОТОВ(В)
  ЖДАТЬ (1 сек)
  E2 = ДАТЧИК_ОБОРОТОВ(В)
  ЕСЛИ (E2 равно E1) 
    {
    // Робота перестали "заводить", выходии из цикла
    С = 0
    }
  }

// запускаем моторы B и C на E2 градусов вперед
МОТОРы (ВС, E2)


Комментариев нет:

Отправить комментарий

Самое популярное