общие сведения.

программы control_motors (1308:643.MGUL.13080-02_12_01); для запуска требуются библиотека servo.h; написана на языке C.

функциональное назначение.

в зависимости от полученных команд с бортовой ЭВМ программа осуществляет управление двигателями подвижной платформы , а также задает положение веб-камеры.

описание логической структуры.

программа в бесконечном цикле считывает полученный данные с бортовой ЭВМ переданные по последовательному порту на скорости 9600 (чего-то там) :). в зависимости от полученной команды с помощью функции switch вызывается определенная функция выполняющая определенную задачу. программа содержит следующие функции:

forward - функция отвечает за движение вперед

right - функци я отвечает за поворот на месте направо

left - функция отвечает за поворот на месте налево

back - функция отвечает за движение назад

stop1 - функция отвечает за остановку всех двигателей

rightforward - функция отвечает за движение направо

leftforward - функция отвечает за движение налево

servokursright - функция отвечает за движение веб-камеры по курсу направо

servokursleft - функция отвечает за движение веб-камеры по курсу налево

servotungright - функция отвечает за движение по тангажу наверх

servotungleft - функция отвечает за движение по тангажу вниз

defaultposition - функция ставит веб-камеру в положение по умолчанию

porog - функция считывает показания с дальномеров (которых сейчас нету) и не дает упасть в пропасть роботу в пропасть

keyselect - функция определяет какая команда пришла с бортовой ЭВМ

root - функция включает режим ручного управления, и не обращает внимания на показания датчиков

connection - функция вызывает функцию stop1, после чего останавливает выполнение программы на 2 секунды

GetEchoTiming - функция отвечает за измерение расстояния от ультразвукового датчика до препятствия.

программа передачи управляющих команд на контроллер платформы передает байт(символ в ASKII кодировке) который эта программа воспринимает как управляющие команды.

используемые технические средства.

для работы программы используются следующие технические средства:

arduino mega 2560

драйвер моторов двигателей L298N

2 сервопривода SG-90

дальномеры(?)

вызов и загрузка.

входные данные.

программы принимается следующие команды:

управляющие команды	вызываемая функция или действие
A	LeftForward
B	Back
C	RightForward
D	LeftSpeedUp
E	LeftSpeedDown
F	Forward
G	зарезервировано для автономного движения
H	зарезервировано для автономного движения
I	root (вход)
J	root (выход)
K	RightSpeedUp
L	Left
M	RightSpeedDown
N	Connection
O	ServoKursRight
P	ServoTungRight
Q	ServoTungLeft
R	Right
S	Stop1
T	ServokursLeft
U	DefaultPosition

выходные данные.

программа выдает информацию о выполняемых действиях, в каждом сообщении содержится бортовое время разделенное табуляцией.