Обучение работы в RobotON Studio

Мы уже обучили достаточно большое количество детей, пришедших к нам с нулевыми знаниями, программированию роботов на Arduino. Все это благодаря работе в собственной среде графического программирования RobotON Studio. В ней дети любого возраста и уровня знаний могут обучить робота выполнять определенные логические задачи, составляя цепочки разноцветных блоков с символами из русского языка. Это очень удобно, так как ребенка не напрягает большой объем необходимых знаний синтаксиса программирования, который ненавязчиво присутствует в дополнительном окошке, что позволяет постепенно привыкать к нему. Для того, чтобы дети могли трудится с этим софтом и дома в самостоятельном режиме и чтобы новые наши последователи могли без труда разобраться в значении блоков, мы расскажем здесь обо всем еще раз.

RobotON.Constructor
Обучение RobotON Studio

Итак начнем с того, что Вы уже прочитали статьи по установке и настройке компьютеров для ваших роботов. Вы получили ключ лицензии и запустили RobotON Studio. C чего же начать? Давайте пробежимся по функционалу данного софта. Справа мы видим три иконки, при нажатии на которые открываются скрытые окна. Их размеры можно менять, вытягиванием границы. Первое поле отвечает за генерацию кода. В любой момент можно посмотреть, какие символы добавились или удалились в процессе манипуляций с блоками. Другая кнопка с дискеткой отвечает за сохранение или открытие составленных программ. Нижняя зеленая с треугольником позволяет выбирать тип платы (Arduino Uno/Nano), ее порт (можно работать с несколькими устройствами, подключенными в разные слоты) и загружать код непосредственно на аппаратную платформу.

RobotON.Constructor
Иконки управления

Теперь посмотрим, что же у нас находится слева. Здесь у нас представлены разделы блоков, решающие различные задачи. Вкладка "Движение" является окном с управлением движением различных моторов. В разделе "Датчики" можно использовать различные, установленные на робота, сенсоры. Очень важными являются окна логических условий и управления. Применять различные формулы можно, использую вкладку "Математика". "Мои блоки" хранят в себе созданные Вами блоки.

RobotON.Constructor
Разделы блоков

Объяснение каждого из разделов лучше начать по порядку их использования. Начнем со вкладки "Условия". Именно она хранит в себе блок "Старт", с которого должна начинаться любая программа. Ниже находятся 3 цикла с различной логикой. В них можно вставлять различные условия, помещая соответствующие темно зеленые блоки левым концом в синий ромбик. Можно задавать несколько условий в одном цикле, помещая зеленые формы и/или друг в друга. Если Вы хотите, чтобы работа цикла не заканчивалась, поставьте "истину" в качестве условия.

RobotON.Constructor
Раздел условий

Теперь перейдем во вкладку "Управление". Здесь осуществляются все предварительные настройки устройств, подключенных к Arduino, и некоторые полезные поля, типо "Подождать_секунд". Этот блок позволяет задержать предшествующие действия на необходимое время. Далее (работа со светодиодом) на примере будет более понятен принцип его действия.

Следующий блок Напечатать" используется пока очень редко, в основном разработчиками для вывода на экран компьютера различных данных. В будущих версиях данное поле будет более информативным.

Следующий блок "Настроить пин_ как выход" отвечает за подачу напряжения с необходимой ножки Arduino. Чтобы понять его роль, давайте рассмотрим пример. У нас есть светодиод и мы хотим его зажечь. Собрав правильную электрическую цепь с сопротивлением, нам необходимо подать на лампочку напряжение (ток). Для того, чтобы откуда-то потек ток или подалось напряжение, необходимо задать это на плате. Поэтому мы настраиваем одну из 13 ножек Ардуинки, как выход. При этом, ток должен потечь на ножку GND. Чтобы начать этот процесс, необходимо использовать блок "Подать напряжение на пин_". В этом случае создастся разность потенциалов 5В. Чтобы погасить светодиод, мы должны воспользоваться блоком "Снять напряжение с пина_".

RobotON.Constructor
Включение светодиода с 13 пина на 2 секнуды

Если же мы хотим направить ток в другую сторону, тогда надо использовать "Снять напряжение с пина_" и подключить другую сторону цепи на ножку 5V или VIN, соответственно потенциал между концом и началом будет -5В.

Блок "Настроить пин_ как вход" пока не используется в наших кружках робототехники. Он служит для того, чтобы измерять различные процессы. Например, если задать таким образом какую-нибудь ножку платы, подключить к ней выход GND, то она будет показывать 0, если 5V - 1. Это можно использовать при работе с датчиками линии: видит черный, выдает 0, видит белый - выдает 1. Чтобы получать эту информацию, используется блок "Считать напряжение с пина_".

Теперь обратимся к блоку "Включить вывод на экран". Данная опция позволяет видеть различную информацию, обрабатываемую платой. Например расстояние до объекта, измеренное с помощью сонара. На момент написания статьи, версия RobotON Studio не позволяет в ней самой открывать такое окно. Это можно видеть, например, в окне программы Arduino. Но вскоре мы добавим такую возможность и в нашем софте.

Мы подошли к настройке моторов и датчиков. Чтобы указать контроллеру где и какое устройство присоединено, необходимо использовать следующие блоки один раз в каждой программе. Начнем с "Настроить серво_ на пин_". Здесь мы даем название серве. Оно должно начинаться обязательно с буквы (язык не важен), а определять можно на ножки 1-13. Таким образом можно подключать несколько аналогичных моторов к различным пинам. После того, как Вы дали им названия, они появятся во вкладке "Движение" темно-синего цвета. Их и нужно будет вставлять в блоки этого раздела.

RobotON.Constructor
Настройка серво мотора

"Настроить мотор_ на пины_ _" - эта форма позволяет определить Arduino DC моторы (постоянного тока, обычно желтые). Они подключается через довольно сложную схему через специальный драйвер, которая выдается детям на наших занятиях и будет показана в онлайн уроках. Как видно, необходимо указать две ножки платы. Это связано со спецификой данных моторов. Главное, чтобы первый из пинов в форме был один из 3, 5, 6, 9, 10, 11

RobotON.Constructor
Настройка DC мотора

Блок "Настроить шаговик_ на пины_ _ _ _" имеет четыре поля для ножек. Шаговый мотор имеет кабель, состоящий из 5 проводов, 4 из которых необходимо правильно определить на пины. Дело в том, что они отвечают за обмотки электродвигателя, приводящего в движение мотор. Их последовательная работа приводит к корректному движению вала. Программа будет подавать на них ток в определенной последовательности, поэтому очень важно подключить эти контакты правильно и задать из в блоке. Это нужно делать следующим образом: использую драйвер ULN, последовательное подключение проводов - ОРАНЖЕВЫЙ_СИНИЙ_ЖЕЛТЫЙ_РОЗОВЫЙ. Пример: Вы через макетку подсоединили к шаговому мотору (28-yj...), имеющему шлейф КОЖРС (сокращение цветов, см картинку) пины 12-9 соответственно, то в блок вы должны записать цифры 12 10 9 11. Можно задом наперед, тогда мотор будет крутиться в другую сторону.

RobotON.Constructor
Настройка шагового двигателя

Последним блоком является "Настроить сонар_ на пины_ _". Эхо датчик имеет 4 выхода, 2 из которых отвечают за питание Vcc и GND. Другие два trig и echo подключаются к пинам, которые как раз и нужно указать в данной форме. Сначала указывается ножка, куда будет подключен trig, а во второе поле - echo.

После того, как мы научились настраивать различные дополнительные объекты для аппаратной платформы Arduino, необходимо привести их в действие. Это делается с помощью блоков, находящихся в разделе "Движение". Начнем с команды "Серво_ на угол_". На место названия сервомотора нужно поставить блок с именем, который должен появится в этой вкладке после настройки сервы на пин. На место значения угла можно поставить любое число в диапазоне от 0 до 180.

RobotON.Constructor
Движение серво-привода

Другим блоком является "Мотор_ со скоростью_". Как и в предыдущем случае, название мотора в темно синей формочке появится после его настройки. Значение скорости задается в диапазоне от -100 до 100. Отрицательная цифра означает вращение в другую сторону, 0 - отсутствие движения.

RobotON.Constructor
Движение DC мотора

Блок "Шаговый_ повернуть на_ со скоростью_" управляет соответствующим мотором. Его имя также появляется после настройки. Вращение происходит в диапазоне от 0 до бесконечности градусов, а скорость также находится в рамках от -100 до 100. Чтобы удобнее было использовать одновременное вращение двух шаговых двигателей, был добавлен блок "Шаговики_ _ повернуть на_ _ со скоростью_ _". Заполнение форму аналогично предыдущему, только здесь можно указать в одном блоке сразу 2 мотора.

RobotON.Constructor
Движение двух шаговых моторов

Теперь переходим в раздел "Математика". Зачем он нужен? В процессе составления программ, очень часто приходится высчитывать значения различных переменных. Например, так как мы используем моторы, то все единицы измерения у нас в градусах или оборотах. Это очень неудобно, когда мы хотим задать длину пути или что-то в этом роде в привычных для нас сантиметрах. Кроме того, если мы изменили параметры робота, то придется снова все пересчитывать. Чтобы избежать такой пустой траты времени, можно составить формулы, которые будут делать это за нас. В данной вкладке представлены 5 блоков, которые можно вставлять друг в друга. Начинаем с "_ = _". Это присваивание. Слева или справа можно задать переменную и дать ей значение или формулу. Сама переменная создается внизу. Чаще всего мы работаем с "целым числом" и даем ему имя. После нажатия "+", она появится под основными блоками в светло-зеленом фоне. Создав несколько переменных, их можно связать между собой различными зависимостями. Эти переменные можно вставлять в блоки из раздела "Движение", а не просто используя цифры.

В качестве примера, давайте разберем одну из программ Рисовльщика, создающего квадрат. У нашего робота есть различные геометрические параметры, которые могу меняться при замене деталей, размеры которых могут испортить качество его заложенной программы. Чтобы быстро ее поправить, нам нужно заложить в него математику. Мы хотим, чтобы он чертил квадрат с определенной длиной стороны. Для этого нам нужно пересчитать градусы в, допустим, сантиметры. Известно, что 360 гр. это оборот, который совершит колесо Рисовальщика, имеющего некий периметр окружности. Тогда можно осуществить перевод, как показано на картинке.

RobotON.Constructor
Использование Математики в работе Рисовальщика

После того, как мозг робота вычислит значение переменной "ууголвращения", он будет использовать эти данные в блоках движения шаговиков. Если Вы решите поменять колеса, то нужно будет только изменить радиус.

На момент написания статьи вкладка "Мои блоки" неактивна. Но в будущих версиях в ней будут копится блоки, которые можно создать объединением множества блоков. Это сократит время написания больших программ и поможет использовать различные часто используемые конфигурации блоков в процессе создания новых логик.

В RobotON Studio (RS) есть возможность выделения и копирования блоков. Это делается мышкой с зажатой левой кнопкой. После выделения, необходимо нажать Ctrl + C, чтобы вставить - Ctrl + V. Стоит отметить, что можно работать таким образом с несколькими окнами RS. Чтобы их открыть, можно несколько раз запустить RobotON Studio.exe. Копировать можно в одном, а вставлять в другом. Главное, чтобы в окне была только одна программа с одним блоком "Старт".

При создании больших программ с множеством блоков Вам понадобится возможность листать. Такой скролинг делается с помощью мышки с зажатой правой кнопкой.

На данный момент это вся необходимая информация по графической среде RobotON Studio. Если у Вас возникнут вопросы или проблемы, мы обязательно Вам поможем! Вы всегда можете связаться с нами по телефону, почте или в группе ВКонтакте.

Комментарии:

Похожие статьи: