Программирование робота
Нажатие на кнопку Код открывает раздел, посвящённый программированию робота. Здесь вы можете как загрузить на устройство уже заранее созданный код, так и написать собственный – с помощью визуального программирования! Знание какого-либо синтаксиса не понадобится, поскольку визуальное программирование предполагает создание программы их заготовок-кирпичиков – последовательно складывая их как пазл, можно выстроить достаточно сложный и разветвлённый код. Благодаря такому подходу вы получите общее представление о работе и принципах построения алгоритмов, использовании логических операторов и составлении условий на их основе, после чего изучение какого-либо языка уже не является таким сложным и сводится по большей части к освоению синтаксиса.
Рабочее окно программы разделено на две части: в левой находятся вкладки с блоками-заготовками различных операций, разбитых на группы, а в правой из них составляется непосредственно код. Рассмотрим каждую группу в отдельности:
Движение
В данной группе находятся операции для работы с двигателями робота. Проще говоря, эти команды отвечают за включение, выключение и направление движения моторов, а также за скорость их вращения. Собственно, операций всего две:
![Программирование движения робота Apitor Superbot](/images/docs/visual_programing/vc-move-01.png)
Эта команда включает двигатели и имеет три параметра:
- Мотор: здесь можно выбрать каким именно двигателем мы будем управлять, их в нашем распоряжении три – два встроены в блок управления и один подключаемый внешний
- Направление: тут всё просто, выбираем в какую сторону должен вращаться выбранный двигатель – по часовой стрелке или против неё
- Скорость (0-12): этот параметр позволяет задать скорость вращения двигателя со значением от 0 до 12 – чем выше цифра, тем быстрее вращение
![Программирование движения робота Apitor Superbot](/images/docs/visual_programing/vc-move-02.png)
А эта инструкция, наоборот, выключает двигатели и содержит всего один параметр – остановка. Можно указать, какой двигатель остановить – либо какой-то из трёх в отдельности, либо все сразу.
Вид
![Мультимедиа-возможности робота Apitor Superbot](/images/docs/visual_programing/vc-show.jpg)
В этой группе собраны команды, отвечающие за мультимедиа-функционал робота: например, он может использовать RGB-светодиоды, расположенные в блоке управления, записывать и воспроизводить звуки, музыкальные треки, произносить фразы и даже отображать на вашем планшете или смартфоне видеоролики и текст!
![Управление светодиодами Apitor Superbot](/images/docs/visual_programing/vc-show-01.png)
Главный модуль SuperBot оснащен четырьмя RGB-светодиодами: два в передней части блока и два в задней. Эта команда отвечает за управление ими и имеет два параметра:
- Свет: здесь можно выбрать какой именно светодиод нужно зажечь – 1, 2, 3, 4 или все сразу
- Выключить: эта опция позволяет указать цвет, которым должен зажечься определённый светодиод.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-show-02.png)
Блок управления Apitor Superbot оснащён встроенным динамиком, благодаря которому ваш робот может воспроизводить звуки. Данная команда позволяет проиграть один из предустановленных звуков и имеет единственный параметр sound, где вы можете выбрать одну из 11 мелодий.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-show-03.png)
Эта команда позволяет записывать звуки. При нажатии на иконку с карандашом, открывается экран записи звука, где вы можете записать свой голос, для дальнейшего воспроизведения его через динамик робота.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-show-04.png)
С помощью этой команды можно вставлять музыку в качестве фона в программу: трек будет воспроизводиться до тех пор, пока робот не выполнит составленную вами программу полностью. Единственная опция здесь – Фоновая музыка – позволяет выбрать одну из предустановленных мелодий. Внутрь секции нужно разместить код, во время выполнения которого вы хотите проигрывать музыку.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-show-05.png)
Эта команда позволяет воспроизвести любой музыкальный трек.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-show-06.png)
Эта команда останавливает воспроизведение музыкального трека.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-show-07.png)
Данная команда позволяет роботу в определённый момент программы запустить видео на вашем смартфоне или планшете – для этого нужно нажать на иконку и выбрать любой видеофайл из галереи вашего устройства. Сделайте вашего робота частью интерактивной истории!
Значение
![Работа с сенсорами Apitor Superbot](/images/docs/visual_programing/vc-sense.jpg)
В этой категории собраны команды, с помощью которых ваш робот сможет взаимодействовать с окружающим миром. В комплекте с конструктором вы найдёте два инфракрасных датчика – они используются для определения расстояния до окружающих объектов и для распознавания чёрных и белых линий. Также в блоке управления размещён микрофон, реагирующий на звуки. Используйте всё это для постройки новых увлекательных проектов!
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-sense-01.png)
Эта инструкция возвращает числовое значение от 0 до 10, соответствующее уровню шума вокруг. Например, можно запрограммировать робота двигаться вперёд по хлопку в ладоши.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-sense-02.png)
Данная команда возвращает числовое значение от 0 до 250, соответствующее расстоянию от робота до какого-либо препятствия в сантиметрах. Различные примеры использования вы увидите ниже.
Здесь мы обратим ваше внимание на то, что в программе блок обозначен как ультразвук, но ультразвукового датчика в комплекте нет – есть только два инфракрасных. Дело в том, что на данный момент Apitor Superbot для определения небольших расстояний использует инфракрасную волну вместо ультразвуковой – для этих целей ИК-датчик прекрасно подходит, но в будущем мы планируем отдельно выпустить более точный и "дальнобойный" ультразвуковой датчик
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-sense-03.png)
Эта команда позволяет получить с инфракрасного датчика данные в режиме proximity – в отличие от предыдущего режима он возвращает не расстояние в миллиметрах, а цифру от 0 (очень близко) до 6 (очень далеко), для построения более гибкой программы. Также эта команда имеет параметр, где можно выбрать с какого из двух датчиков нужно получить данные.
![Воспроизведение звуков Apitor Superbot](/images/docs/visual_programing/vc-sense-04.png)
Датчик дорожки способен обнаруживать наличие или отсутствие черного следа на белом фон. Инфракрасный приемник менее чувствителен, чем его использование в качестве детектора препятствий. и должен быть направлен вниз. они способны обнаруживать только обратные сигналы от белого поверхность или в любом случае с высокой отражающей способностью. Поэтому черная полоса невидима и по этой причине датчик можно использовать для «отслеживания» темного следа, нанесенного на свет фон. Когда он теряет трек, фактически, датчик генерирует цифровой сигнал и Центральный блок SuperBot теоретически способен управлять устройствами, чтобы найти его и следовать за ним. В Практика, если мы думаем об автомобильном роботе, если он выходит из черной линии, исправление траектории должен проходить через двигатели, чтобы привести робота к черная линия. Инструкция отслеживания считывает два левых и правых параметра, которые могут принимать значения на или выключен.
Данные
![Работа с переменными в Apitor SuperBot](/images/docs/visual_programing/vc-variables.jpg)
В этой категории размещено несколько команд для работы с переменными. По умолчанию команды не отображаются, ведь ни одной переменной у нас ещё нет. Исправить это можно нажав кнопку Создать переменную
![Создание переменной в приложении Apitor Robot](/images/docs/visual_programing/vc-variables-01.jpg)
В открывшемся окошке введём название переменной. Для примера мы так и назовём её – переменная, и подтвердим ввод кнопкой Да. Если всё сделано правильно, то мы увидим, что в разделе Данные появились новые блоки. Давайте разберёмся, что у нас есть:
![Присвоение значения переменной в приложении Apitor Robot](/images/docs/visual_programing/vc-variables-02.png)
Эта команда позволяет присвоить созданной переменной числовое или логическое значение. Единственный параметр здесь – это выбор, с какой именно переменной вы хотите работать.
![Присвоение значения переменной в приложении Apitor Robot](/images/docs/visual_programing/vc-variables-03.png)
Данная команда позволяет увеличить значение переменной на определённое число. Её удобно использовать при построении цикличной функций в качестве счётчика. Имеет два параметра: первый служит для выбора конкрентной переменной, а во втором параметре задаётся число.
![Присвоение значения переменной в приложении Apitor Robot](/images/docs/visual_programing/vc-variables-04.png)
Эта команда сама по себе не выполняет никаких действий, а лишь позволяет выбрать одну из созданных переменных для использования в других функциях. Примеры её использования можно найти, открыв заранее созданные программы для сборочных моделей.
Расчёт
![Математические функции в приложении Apitor Robot](/images/docs/visual_programing/vc-math.jpg)
В этом разделе собраны различные вычислительные функции, с помощью которых можно осуществить сложнейшие математические и тригонометрические расчёты. Используя их можно запрограммировать робота рисовать узоры или двигаться по определённой траектории. Вы также можете использовать эти функции по своему усмотрению, никаких ограничений!
![Функции для работы с числами в приложении Apitor Robot](/images/docs/visual_programing/vc-math-01.png)
Эта команда – одна из базовых. С помощью двух параметров слева и справа выбираются числа, а между ними выбирается нужное действие: сложение, вычитание, умножение, деление и возведение в степень. Также вместо чисел вы можете использовать переменные: для этого из раздела Данные возьмите команду, которая позволяет выбрать переменную – да, это та самая, что сама по себе ничего не делает – и перетащите её внутрь вычислительного блока, на место цифр. Должно получиться вот так:
![Функции для работы с числами в приложении Apitor Robot](/images/docs/visual_programing/vc-math-02.png)
Этот блок хранит в себе любое заданное число и сам по себе ничего не выполняет, но используется в составе вычислительных выражений. Если вы хотите поместить в какую-либо формулу определённое число – это то что вам нужно!
![Выбор случайного числа в приложении Apitor Robot](/images/docs/visual_programing/vc-math-03.png)
А эта команда позволяет сгенерировать случайное число из определённого диапазона, задаваемого с помощью двух параметров. Вместо чисел также можно использовать переменные.
Контроль
![Логические функции в приложении Apitor Robot](/images/docs/visual_programing/vc-logic.jpg)
Этот раздел содержит различные логические операторы и условия. Понимание того, как они работают, является базовым навыком программирования на любом языке. Освоив эту группу операторов вы сможете запрограммировать робота на достаточно сложные последовательности действий!
![Генерация паузы в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-01.png)
Команда ожидания пригодится для генерации пауз при выполнении программы. В параметре указывается числовое значение, каждая единица которого соответствует одной десятой секунды. Таким образом, чтобы установить паузу в 1 секунду, в параметре следует указать число 10.
![Операторы условий if do в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-02.png)
Это команда – оператор условия, выполняющая определённое действие или цепочку инструкций, если соблюдается какое-то условие. В противном случае вся цепочка внутри условия игнорируется. Например, с помощью такого оператора можно зажигать на блоке управления красный светодиод, если полученное с датчика расстояние до препятствия меньше 10.
![Операторы условий if do else в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-03.png)
Данная команда – также оператор условия и работает практически также, как предыдущая с той лишь разницей, что здесь есть возможность задать цепочку действий, если условие не выполняется. Например, можно зажигать на блоке управления красный светодиод, если полученное с датчика расстояние до препятствия меньше 10, а во всех остальных случаях зажигать зелёный светодиод.
![Операторы условий if ... else в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-04.png)
Последняя команда из семейства операторов условий похожа на предыдущую, но позволяет задать последовательность из двух условий. Например, можно получать расстояние до препятствия с датчика, и если оно меньше 30 – зажигать на главной блоке управления жёлтый светодиод, если меньше 10 – зажигать красный, а если ни одно из вышеназванных условий не соблюдается – пусть горит зелёный. Разумеется, операторы условий можно комбинировать между собой, создавая сложнейшие последовательности действий.
![Операторы сравнения в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-05.png)
Эта команда является оператором сравнения. С её помощью вы можете сравнить два числа (или значения переменных), вставив их в свободные места. Параметр позволяет выбрать вариант сравнения: равно, не равно, меньше, меньше или равно, больше, больше или равно.
![Операторы и/или в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-06.png)
Операторы условий, о которых было сказано чуть выше, позволяют проверять только одно соответствие за раз: если переменная "а" меньше 30, то выполняем действие. Но что если нужно проверить соответствие двух и более условий за раз? Например, если переменная "а" меньше 30, и переменная "b" меньше 50, то выполняем действие? Вот тут на помощь придёт оператор И/ИЛИ – вставьте его между двумя условиями в оператор IF ELSE и постройте ещё более сложный и гибкий код для вашего робота!
![Оператор НЕ в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-07.png)
Логический оператор не используется в построении условий.
![Операнд Истина/Ложь в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-08.png)
Операнд Истина/Ложь используется в построении логических цепочек.
![Построение циклов в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-09.png)
Данная команда служит для запуска цикла, то есть повторяет часть вашего кода определённое количество раз. С помощью параметра можно задать число повторений.
![Построение циклов в приложении Apitor Robot](/images/docs/visual_programing/vc-logic-10.png)
А эта команда похожа на предыдущую, но код выполняется не заданное количество раз, а пока не будет выполнено какое-то условие. Например, можно увеличивать значение переменной на 1, пока оно не станет равно 100.