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