Порты
Практическая работа № 2 «Управление без обратной связи»
Часто используют не отдельные контакты, а многоконтактные разъёмы — порты. На рисунке 1.6 показан управляющий блок (система управления роботом) из набора LEGO Mindstorms EV3, имеющий четыре порта вывода (для управления моторами) и четыре порта ввода для приёма данных с датчиков.
Рис. 1.6
Управление лампочками
При записи алгоритмов управления отдельными контактами (пинами) мы будем использовать алгоритмический язык, расширив его командой
записать(n, d)
Здесь n — это номер пина, a d — данные, которые определяют уровень сигнала на пине. Будем считать, что d — это целое число от 0 до 255, где 0 обозначает нулевой уровень сигнала (то же, что и «земля»), а 255 — максимальный уровень.
Сколько бит нужно для хранения значения от 0 до 255? От 0 до 1023? от 0 до 65 535?
Рассмотрим схему на рис. 1.5, в которой лампочка подсоединена к пину 11. Если ввести и выполнить такую программу:
записать(11, 255)
ждать(1000)
записать (11, 0)
то лампочка загорится, будет гореть 1000 миллисекунд (пока работает команда ждать) и снова потухнет. Можно сделать, чтобы лампочка мигала бесконечно долго, включив эти команды в бесконечный цикл:
нц
записать (11, 255)
ждать (1000)
записать (11, 0)
кц
В заголовке этого цикла нет ни условия, ни пределов изменений переменной. Это бесконечный цикл, который будет работать, пока мы не остановим программу. Такие циклы считаются плохим стилем в «обычном» программировании, но часто применяются при программировании роботов.
В только что рассмотренной программе есть ошибка. Исправьте её.
Следующая страница Система команд роботов