Начиная разговор о ПО, которые мы часто используем в работе, хочу еще раз продемонстрировать mBlock3, разработанный на основе Scratch2 компанией MakeBlock.
Почему mBlock3, если есть mBlock5?
Да, уже есть mBlock5, более современный и функциональный. Мы обязательно обсудим и этот продукт, который так же широко используем, особенно когда речь идет о современных модификациях роботов и контроллеров.
Но предыдущая версия среды, mBlock3, оказалась настолько интересной и удобной для многих действий с контроллерами и электроникой, что мы продолжаем ее использовать. Почему - расскажу в этой статье.
Начнем с того, что в mBlock3 разработчики предоставили для всех желающих удобный механизм написания собственных расширений - дополнений, наделяющих среду новыми возможностями, а также системой удобного поиска и установки данных расширений прямо из интерфейса программы (в mBlock5 тоже можно делать расширения, но процесс намного сложнее и пока простым языком написанных инструкций не видел). На момент завершения развития, с учетом разнообразнейших расширений, именно версия 3 не имела аналогов в мире, если мы говорим об устройствах на основе контроллеров Arduino, использующих язык С++. За счет расширений поддерживалось большое количество контроллеров, плат расширения и других электронных компонентов, совершенствовались и программные функции, появлялись новые возможности. Расширение Advanced Arduino Extension, написанное одним из моих коллег - Александром Григорьевым, принципиально изменило границы применимости среды mBlock3, нарастив возможности визуального программирования контроллеров до уровня профессионального применения и стирая границы между "блочно-модульным" и "текстовым" программированием. К сожалению, в настоящее время поддержка mBlock3 прекращена, и теперь расширения в нее не устанавливаются простым выбором из встроенной библиотеки. Но и сейчас можно найти нужные расширения и поставить их "вручную". Так, например, все наши расширения, включая Advanced Arduino Extension собраны в облаке и доступны для загрузки. В последующих статьях, посвященных расширениям, я обязательно расскажу о них подробнее.
А теперь пару слов - почему мы продолжаем использовать эту, вроде как устаревшую версию mBlock, и какие уникальные возможности она имеет.
Итак, mBlock3 создавалась в то время, когда шла революция в техническом творчестве, связанная с появлением доступных контроллеров Arduino.
Даже без дополнительных расширений, mBlock3 сразу может работать с большинством распространенных плат:
При выборе платы появляется набор базовых блоков для работы с электроникой (при этом, естественно, доступны и все остальные блоки - циклы, операторы, условия и т.д.) и возможность создавать свои блоки.
Уже здесь видно, что можно считывать данные с портов, посылать на них управляющие сигналы, управлять сервоприводом и дальномером, работать с таймером и т.д.
И это вы еще набора Advanced Arduino Extension не видели))) Но о нем - в следующих статьях.
Итак, мы имеем среду, в которой можно делать проекты с использованием контроллеров Arduino, собирая программы в стиле Scratch, из блоков. Это уже хорошо, так как позволяет расширить аудиторию применения и снизить возраст участников проектов (в нашей школе - с 3 класса вполне получается).
Но и таких программ много... Есть и Snap4Arduino, и mind+ и другие, в чем то подобные и часто более современные среды..
Но дело в том, что mBlock3 оказалась удивительно универсальной и функциональной, и тут с ней пока никто не сравнился.
Во первых, здесь можно использовать два режима управления. Мы их называли "интерактивный" и "автономный". В mBlock5 они называются "Live" и "Upload".
В первом можно управлять контроллером и подключенной электроникой прямо из среды, по каналу подключения. Во втором - программа компилируется и грузится в память контроллера, затем он может работать автономно, только питание надо подключить.
Но огромный бонус mBlock3 перед mBlock5 - в интерактивном режиме mBlock3 можно не только управлять электроникой, но и свободно соединять блоки управления виртуальными спрайтами и электронными устройствами. А это супер возможность для создания самых разных программ, в которых взаимодействуют виртуальные персонажи и реальная электроника.
Пример - при срабатывании датчика присутствия на экране можно создать собаку, которая будет бегать и громко лаять.
Или, например, при фиксации падения освещения на датчике, "включать свет" в нарисованном доме.
И огромное поле для создания игр, с учетом возможностей и электроники и программирования в Scratch.
Пример "Птичка":
Знакомая всем игра, в которой птичка должна махать крыльями и пролетать сквозь препятствия. А ниже - скрипты программы. И мы видим, что в качестве управляющего сигнала используется кнопка, подключенная к пину 2 на Arduino Uno.
В таком "игровом" режиме можно делать очень разные проекты, учить работать с контроллерами и периферией, и все это доступно и понятно.
Интересен и "автономный" (upload) режим. Рядом с блочным интерфейсом откроется окно с кодом, привычным по Arduino IDE, в котором можно посмотреть, если надо и подкорректировать программу. Далее она уже в виде кода будет загружена для автономного выполнения.
Где взять программу, чтобы попробовать?
Официальная страница загрузки mBlock — https://www.mblock.cc/en-us/download .
Для загрузки "старой" версии потребуется прокрутить страницу загрузки до заголовка Other mBlock software с надписью Download и выбрать версию mBlock 3 для своей операционной системы. Мы используем mBlock3 for Windows и он отлично идет под операционками Windows с 7 по 10, под 11 не пробовали.
Где почитать и поучиться?
Некоторую базу по подключению контроллеров и работе с mBlock3 я планирую осветить в следующих статьях цикла.
Но ранее мы выпустили очень удачную книгу, Scratch и Arduino для юных программистов и конструкторов. 2-е издание уже содержит описание работы и с Advanced Arduino Extension. Это действительно получилась классная книга, в которой приведены успешные проекты, которые понравились нашим детям. Пошаговые инструкции и электронный архив позволяют легко окунуться в мир микроконтроллеров и электроники.
Для варианта, что не хочется разыскивать компоненты для проектов, издательство выпустило и вариант набора, где все уже есть.
Очень хочется сделать следующую версию книги уже под mBlock5, но это уже будет совсем другая история, подружить виртуальных персонажей и электронику так просто не получится, так что и проекты будут другие.
Все, до следующих встреч. В следующей статье - настройка среды и подключение контроллеров.