Блочное программирование в приложении Jump

Мы создали в приложении Jump визуальную среду программирования для детей и подростков. Она позволяет в простой и доступной форме познакомиться с основными функциями Пионера Мини.

В блочном программировании все возможные движения и действия квадрокоптера представлены в виде перетаскиваемых блоков, которые могут соединяться в программу управления квадрокоптером. Блоки перетаскиваются по технологии drag-and-drop: удерживание нажатия на блоке запускает процесс перетаскивания, а отпускание нажатия заканчивает процесс перетаскивания.

Для перехода в раздел запустите приложение на вашем устройстве и нажмите иконку с блоками в верхнем левом углу.

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/pioneer_jump/jump_blockMode/blocks_tutorial_1_light.svg

Интерфейс

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

  1. Кнопка запуска в виде зелёного треугольника служит для старта готовой программы.

  2. Индикатор работы отображается в процессе выполнения программы.

  3. Кнопка остановки выполнит экстренную посадку в случае непредвиденных обстоятельств.

  4. Корзина для удаления ненужных блоков с рабочей области.

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/pioneer_jump/jump_blockMode/blocks_tutorial_2_light.svg

Если вы напишете большую программу, она может не поместиться на экран устройства. Для этого случая предусмотрено масштабирование рабочей области. Чтобы увеличить или уменьшить масштаб, разведите или сведите два пальца на рабочей области.

Описание блоков

Ниже описаны все доступные блоки и выполняемые ими действия.

Название блокаИзображениеДействие
TAKE OFFTAKE OFFВзлёт на высоту 'Take off'. Высота задаётся параметром Flight_com_takeoffAlt и указывается в метрах.
LANDLANDПосадка.
REPEATREPEATВыполняет включающие в себя операции указанное количество раз.
MOVE FORWARDMOVE FORWARDДвижение вперёд. Расстояние указывается в метрах.
MOVE BACKWARDMOVE BACKWARDДвижение назад. Расстояние указывается в метрах.
MOVE LEFTMOVE LEFTДвижение влево. Расстояние указывается в метрах.
MOVE RIGHTMOVE RIGHTДвижение вправо. Расстояние указывается в метрах.
MOVE UPMOVE UPДвижение вверх. Расстояние указывается в метрах.
MOVE DOWNMOVE DOWNДвижение вниз. Расстояние указывается в метрах.
TURN LEFTTURN LEFTПоворот относительно вертикальной оси (рысканье) влево. Значение указывается в градусах.
TURN RIGHTTURN RIGHTПоворот относительно вертикальной оси (рысканье) вправо. Значение указывается в градусах.
SET COLORSET COLORВключение бортовых светодиодов. При нажатии открывает палитру доступных цветов.
SLEEPSLEEPУстановка задержки. Значение указывается в секундах.
TAKE PHOTOTAKE PHOTOСделать фотографию. Фото сохранится на устройство или SD-карту, в зависимости от настроек приложения.

Пример составления программы

Для создания программы необходимо перенести блоки из палитры в рабочую область и выстроить их в необходимом порядке. Блоки автоматически присоединяются в то место, в которое их установили. Таким образом новый блок можно разместить перед, после или между существующих блоков.

Важно

Блоки, отвечающие за передвижение коптера, обязательно должны находиться между блоками взлёта (Take off) и посадки (Land)!

В качестве примера рассмотрим небольшую программу полёта по квадрату.

  1. Поскольку программа подразумевает полёт, начинаем её с блока TAKE OFF для осуществления взлёта. Маркер рядом с блоками поможет сориентироваться, какое действие выполняется в текущий момент.

  2. Открываем цикл и указываем количество повторов.

  3. Вносим в блок цикла блоки движения: MOVE FORWARD, MOVE RIGHT, MOVE BACKWARD и MOVE LEFT для движения вперёд, вправо, назад и влево соответственно. Указываем необходимые расстояния в блоках.

  4. После указанного количества повторов произойдёт выход из цикла и переход к следующим блокам программы.

  5. Завершаем программу блоком LAND для посадки Пионера Мини.

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/pioneer_jump/jump_blockMode/blocks_tutorial_3_light.svg