Содержание
общие сведения.
программа 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 - функция отвечает за измерение расстояния от ультразвукового датчика до препятствия.
программа передачи управляющих команд на контроллер платформы передает байт(символ в ASСII кодировке) который эта программа воспринимает как управляющие команды.
используемые технические средства.
для работы программы используются следующие технические средства:
- 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 |
выходные данные.
программа выдает информацию о выполняемых действиях, в каждом сообщении содержится бортовое время разделенное табуляцией.
