Публикации сообщества

Юрий Винницкий • 9 февраля 2022

SPBot + большая книга проектов по робототехнике. Блочные среды и креативное программирование.

Добрый день. В 2021 году мы с Александром Григорьевым закончили Книгу проектов по робототехнике. В нее вошли лучшие проекты, придуманные и апробированные в "Лаборатории проектов 169" за последние годы. И мы действительно гордимся этой работой)))

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

Традиционно опора в ПО сделана на блочные среды программирования, в книге рассматриваются mBlock3, mind+, snap4arduino. Пожалуй, это последняя наша разработка, использующая среду mBlock3, несмотря на то, что и сейчас она, пожалуй, самая универсальная из всех блочных сред, работающих с микроконтроллерами. На текущий момент эта среда + расширение Advanced Arduino от А.Григорьева не имеет равных по возможностям, позволяя реализовывать сложнейшие технические проекты. Но время идет, среда уже не поддерживается в развитии, на смену пришла mBlock5 и в последующих работах (если они будут))) опора будет уже на нее.

Специально для книги проектов А.Григорьев написал и новое расширение - SimpleBot, позволяющее упростить создание программ, сосредоточившись на главных обучающих задачах проектов. Оно не мешает использовать стандартные блоки mBlock  для решения тех же задач, но реализовать основные идеи становится ощутимо проще. На изображении - основные блоки расширения.

Расширение SimleBot

 

С самого начала нам очень не хотелось ограничивать читателей определенным конструктивом и электроникой, поэтому и расширения сделаны так, что многое можно варьировать, например, подключать элементы к другим пинам Ардуино, просто выбирая нужное из списка модулей. Кроме того, создано расширение smartBot2560 для тех, кто хотел бы использовать нашу книгу с роботами на основе контроллеров Mega 2560.

Вообще, проблема "железа" весьма актуальна. Для того, чтобы инструкции были просты и понятны, надо все же иметь в виду какую-то определенную конструкцию.

В самом начале проекты мы попробовали создать робота на основе как раз Mega 2560. Да, для него потребовалось создать свой шилд с базовыми элементами, используемыми в проектах (RGB светодиоды, буззер, кнопка и т.д.), но в целом это был отличный робот с огромными возможностями расширения функционала. На досуге обязательно оформлю страницу "Лаборатории проектов 169", посвященную именно этой конструкции.

Но в финальном варианте, когда надо было согласовать соотношение цена/качество и добиться от робота исполнения всех проектных заданий, в набор к книге вошел робот с контроллером все так же на основе Arduino Uno. По параметрам аппаратной конфигурации нужна была совместимость с mCore от MakeBlock, но схема несколько дополненная. mCore тоже можно использовать, но требуется допаять ряд коннекторов для подключения большего количества компонентов.

Результатом подбора компонентов и согласования возможностей набора стала наша совместная с издательством БХВ разработка - набор SPBot. Этот робот имеет в наборе массу интересных элементов, например, мы используем сразу два датчика расстояния, ультразвуковой и инфракрасный, плата датчиков линии - из трех модулей, датчики связи - заранее согласованы между собой, и т.д. и т.п.

Об особенностях набора можно посмотреть в видео:

Для кого наша книга? Тут сложно))) Мы любим говорить, что эту книжку можно считать "настольной энциклопедией проектов для детей от 9 до 99 лет" и так оно и есть.  Ее можно использовать как для самостоятельного обучения, так и для проведения занятий по робототехнике. Проекты очень разные, к ним можно периодически возвращаться, открывая все новые грани креативного программирования.

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

Посмотреть один из таких проектов в описании автора - А.Григорьева, можно на странице семинара, там присутствует и архив файлов проекта и видео с рассказом о его использовании.

По мере сил мы будем поддерживать и расширять информацию о наборе, проектах и всевозможных реализациях роботов для них на страницах "Лаборатории проектов 169".

Так же планирую выложить все наши 3D модели для крепежа датчиков и других элементов, используемые в разных вариантах конструкций роботов, например таких:

Робот на основе конструктива Lego

 

Продолжение следует)

Кол-во комментариев: (6)

Елена Годунова
Отличная новость! Это так важно, когда находится время поделиться с коллегами своими идеями, открытиями, опытом!
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Александр Григорьев
    Спасибо огромное всем за тёплые слова! Хочу особо подчеркнуть один момент, о котором упомянул Юрий. Наша книга построена так, чтобы как можно менее зависеть от деталей реализации конкретной робоплатформы. Иными словами, скрипты, приведённые в книге, без изменений можно использовать с различными Ардуино-роботами, лишь бы они поддерживали необходимый функционал (умели мигать светодиодами, пищать, крутить моторами, и т.д.). Если посмотреть на скриншот расширения SimpleBot, вы увидите, что во всех основных блоках используется так называемое "значение по умолчанию" вместо того или иного конкретного номера порта или пина Ардуино. Не секрет, что разработчики "свободного" программного и аппаратного обеспечения зачастую кривят душой, и пытаются правдами и неправдами добиться того, чтобы их робот и среда программирования оказались несовместимы с оборудованием конкурентов. Мы постарались продемонстрировать прямо противоположный подход. Любой желающий может взять собственного Ардуино-робота с аналогичным функционалом, и модифицировать наше расширение среды программирования (SimpleBot или SmartBot2560) таким образом, чтобы оно работало с этим роботом (либо самостоятельно написать подобное расширение). Конкретные номера пинов (специфичные для той или иной робоплатформы) прописаны внутри расширения. Например, можно взять какого-нибудь такого робота, и использовать его для занятий по нашей книге: https://www.waveshare.com/wiki/KitiBot-MG Что касается электронного формата книги и закупки комплектующих. Это вопросы к издательству БХВ. Тема очень объёмная, могу лишь посоветовать, вдруг найдёте что-то интересное здесь: https://novator.team/post/1405
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии