Добавить в корзинуПозвонить
Найти в Дзене

Advanced Arduino + mBlock3. Расширяем границы возможностей.

Ранее мы уже объясняли, почему до сих пор используем mBlock3 в проектах с контроллерами Arduino, хотя уже существует свежая версия среды - mBlock5. Среди главных достоинств mBlock3 - изначальная поддержка работы с микроконтроллерами Arduino, возможность сопряжения в одном проекте виртуальных персонажей и реального "железа", доступность (хотя сейчас, после окончания поддержки - относительная) замечательных программных расширений, созданных энтузиастами. Эти расширения позволяют реализовывать впечатляющие, разнообразные и практически профессиональные проекты в блочной среде программирования. Существуют расширения, обеспечивающие использование специфического оборудования, например особых датчиков или моторов. Но есть и достаточно универсальные, упрощающие работу и добавляющие возможности в самых разных ситуациях. Мы предлагаем познакомиться с Advanced Arduino Extention, созданным нашим коллегой по "Лаборатории проектов 169", Александром Григорьевым. Это реально супер-расширение, которо
Оглавление

Несколько слов о расширениях для среды mBlock

Пример использования расширения Advanced Arduino
Пример использования расширения Advanced Arduino

Ранее мы уже объясняли, почему до сих пор используем mBlock3 в проектах с контроллерами Arduino, хотя уже существует свежая версия среды - mBlock5. Среди главных достоинств mBlock3 - изначальная поддержка работы с микроконтроллерами Arduino, возможность сопряжения в одном проекте виртуальных персонажей и реального "железа", доступность (хотя сейчас, после окончания поддержки - относительная) замечательных программных расширений, созданных энтузиастами.

Эти расширения позволяют реализовывать впечатляющие, разнообразные и практически профессиональные проекты в блочной среде программирования.

Существуют расширения, обеспечивающие использование специфического оборудования, например особых датчиков или моторов. Но есть и достаточно универсальные, упрощающие работу и добавляющие возможности в самых разных ситуациях. Мы предлагаем познакомиться с Advanced Arduino Extention, созданным нашим коллегой по "Лаборатории проектов 169", Александром Григорьевым. Это реально супер-расширение, которое стирает границы между возможностями текстового и блочного программирования. Попробуйте, понравится. Возможно, скоро Александр создаст и очередную версию расширения под mBlock5.

Установка расширений для среды mBlock

Раньше все было проще, достаточно было зайти в меню Extensions – Manage Extensions, вбить первые буквы названия расширения в строке поиска, выбрать нужное и все, расширение установлено. После окончания поддержки mBlock3 такая возможность исчезла. Теперь остался только второй способ - установка вручную. Т.е. сначала расширение нужно найти, затем загрузить, затем установить. Напомним, что все наши расширения, включая Advanced Arduino Extension собраны в облаке и доступны для загрузки.

Загрузите или скопируйте файл "AdvancedArduino.zip" на свой компьютер. Запустите mBlock3 и выберите в меню Extensions -> Manage Extensions, затем нажмите кнопку "Add Extension".Выберите тип файла "zip-file", укажите в окне загруженный архив, затем нажмите кнопку "Open". Все, расширение установлено. Теперь можно зайти в меню Extensions и убедиться, что расширение установлено и подключено (если нет галочки, щелкните по названию)

AdvancedArduino установлено и включено
AdvancedArduino установлено и включено

Теперь можно перейти в группу команд Робот. Здесь стали доступны уже 2 блока команд. Стандартные команды Arduino, обеспечивающие минимально достаточный функционал, и AdvancedArduino, позволяющие намного больше. При желании ненужный временно блок можно спрятать/показать (см. рис). Да, отмечу, что при составлении программы вы можете пользоваться командами из любого расширения, при желании мешая их в одном проекте.

-3

Теперь посмотрим на весь арсенал команд, доступных в AdvancedArduino (пришлось порезать на отдельные фото, иначе все не вмещалось):

-4
-5
-6
-7
-8

Не правда ли, впечатляет)))

Теперь мы имеем множество дополнительных опций при работе в режиме Arduino:

  • новые блоки для ряда наиболее популярных библиотечных функций Arduino IDE (min(), max(), constrain(), map(), pow()), предназначенных для преобразования значений;
  • дополнительные блоки для работы с последовательными коммуникациями (Serial, а также Serial2);
  • большинство базовых блоков названы классическими именами библиотечных функций (например, "digitalRead");
  • блоки "def" и "code" позволяют включать пользовательские фрагменты кода, написанные на языке программирования "Wire" (Arduino IDE);
  • добавляется возможность использования любых библиотечных функций Arduino IDE во фрагментах кода;
  • добавляется возможность определять пользовательские функции, возвращающие значения произвольного типа;
  • возможность использования глобальных и локальных переменных и параметров функций произвольного типа, включая массивы.

Внимание! Среда визуального программирования mBlock3 генерирует скетч кода Arduino, используя тип "double" для всех переменных и параметров функций, созданных в визуальном режиме. Не забудьте при необходимости привести значение к другому типу - int(), byte(), String().

Ну вот, расширение установлено, можете пробовать его использование в проектах. В моих планах на последующие публикации - показать базовые примеры использования расширения, а также какой-то проект с использованием именно возможностей AdvancedArduino.

Все материалы рубрики mBlock (3 и 5) собраны в подборке.