Среда программирования MRT RUS для роботов HUNA TOP: проста для новичков и дружелюбна при переходе на "взрослое" программирование на Си KosachenkoSV's blog / 08.07.2015 Продолжаем рассматривать особенности робототехнического набора HUNA TOP, и сегодня рассмотрим среду программирования контроллера HUNA TOP под названием MRT RUS.Предыдущие посты по теме HUNA TOP:1. Азартные соревнования с робототехническим набором HUNA TOP на профильной смене «Школа образовательной робототехники» ШОРТ2015 2. Контроллер HUNA TOP познается в сравнении с LEGO и... в чем-то выигрываетРуссифицированная среда программирования MRT RUS для набора HUNA TOP разработана в ООО Брейн Девелопмент из Санкт-Петербурга. Скачать программу MRT RUS и инструкцию к ней можно по ссылке http://hunarobo.ru/mrt-rus-programma.html. Перед установкой ПО MRT RUS сначала потребуется убедиться, что в Windows уже установлен пакет .NET Framework 3.5. Если это не так, то его следует скачать с официального сайта Microsoft и установить.Установка ПО MRT RUS происходит очень просто и трудностей не вызывает, поэтому данный процесс не будем рассматривать. Замечу лишь, что в процессе установки ПО нужно согласиться с установкой драйверов.После установки ПО MRT RUS перезагрузите компьютер.Среда программирования выглядит следующим образом: Слева палитра с устройствами ввода, устройствами вывода и функциями (базовыми алгоритмическими конструкциями), справа программа для робота. Программа для робота выполняется в бесконечном цикле, хотя на экране выглядит как линейный алгоритм. Колонка № помечает номер строки команды. Это мне напомнило написание программ на языке программирования BASIC, в котором строки тоже пронумерованы, но номер ставится в начале каждой строки. Последняя колонка для комментариев.Чтобы разобраться в новой для меня среде программирования, я решил написать простейшую программу для управления роботом с пульта дистанционного управления (ПДУ): если на ПДУ нажата кнопка вперед, то включаются моторы левый и правый, и робот движется вперед; если ни одна кнопка на пульте не нажата, то моторы останавливаются, и робот останавливается.1. Выбираем «Устройства ввода» — ПДУ (пульт дистанционного управления), кстати, пульт ребятам во время занятий очень понравился, т.к. удобен и напоминает пульты от игровых консолей:Выбираем на открывшемся изображении ПДУ кнопку «^», которая символизирует «вперед», и кликаем «Ок».2. Теперь запрограммируем реакцию на событие «на ПДУ нажата кнопка вперед», а именно: выберем «Устройства вывода» - «Двигатель»:В открывшемся окне «Двигатель», выбираем галочками «Двигатель 1 левый» и «Двигатель 1 правый» и устанавливаем для них скорость 10. Нажимаем «Ок».Примечание: двигатели у HUNA TOP очень быстрые и робот получится таким шустрым, что оператор не будет успевать реагировать [i]на его перемещения при управлении, поэтому в дальнейшем, экспериментируя, скорее всего придется убавить скорость до разумных значений.[/i]3. Чтобы при отпускании кнопки вперед на ПДУ робот останавливался, еще раз откроем «Устройства ввода» - ПДУ и выберем «Нет нажатия», затем настроим реакцию на событие: всем двигателям выставим скорость в значение 0, что означает «Стоп».Программа готова. Теперь перед загрузкой в контроллер ее нужно собрать. Для этого в меню программы нажимаем кнопку «Собрать» и следим за сообщениями о компиляции и сборке программы в окне Вывод:В первой же строчке вывода мы видим сообщение, что запущен компилятор GCC для контроллеров AVR, который компилирует программу из файла main.c, но откуда же он взялся? Мы же составляли программу в графическом режиме.Оказывается ПО MRT RUS составленную нами программу для робота в графической среде автоматически транслирует в программу на языке Си. Подобно тому, как это делает Ardublock для Arduino IDE /index.php?automo...showentry=7322.Сам по себе компилятор avr-gcc — это «взрослое», правильное промышленное решение с точки зрения работы с программируемыми контроллерами ATMega. В его открытом применении в этом наборе я вижу большой задел на будущее, когда ребятам, по мере обучения и приобретения опыта, захочется программировать контроллеры не посредством данной графической среды, а напрямую на языке программирования Си.Очень понравилось, что на Си можно программировать сразу из среды MRT RUS, для этого достаточно лишь переключиться с вкладки «Программа» и кликнуть по вкладке «Код», и мы увидим нашу программу, но уже на языке программирования Си!!!Понравилось это прежде всего потому, что позволит ребятам легко начать изучение Си без смены среды программирования. Очень дружелюбный переход на более сложный уровень. Кто понимает Си, увидит на рисунке, что программа работает в бесконечном цикле, события нажатия кнопок на ПДУ определяются с помощью функции rc(), а управление двигателями осуществляется с помощью подпрограммы dc_motor().Теперь нужно «прошить» программу (загрузить откомпилированную программу) в контроллер HUNA TOP.Для этого нужно подключить к компьютеру модуль USB-Serial (соединенный шлейфом с контроллером HUNA TOP), выбрать в программе "правильный" COM-порт (его лучше подсмотреть в Мой компьютер — Свойства - Диспетчер устройств). Обычно COM1 — занят мышкой, но к компьютеру могут быть подключены и другие устройства (Bluetooth, Arduino и пр.), занимающие последовательный порт (в Windows обозначаемый COM и порядковым номером). Затем включить питание на контроллере HUNA TOP и нажать в меню кнопку «Загрузить», после чего откроется окно с инструкциями, где советуется выключить и включить питание контроллера затем нажать кнопку Reset, после чего процесс загрузки начнется.При изучении логов я разобрался, что откомпилированная в машинные кода программа (файл main.hex) загружается в контроллер программой AVRDUDE.Вывод.Среда программирования MRT RUS для робототехнического набора HUNA TOP обладает простотой для начинающих робототехников, для этого имеется графический режим программирования (подобно Ardublock), в котором программа составляется линейно, но при этом имеет большой потенциал для простого и дружелюбного перехода на «взрослый» язык программирования Си. ATMega AVR AVR-GCC ArduBlock C HUNA HUNA TOP STEM Си ТФТЛ робототехника