Старожилам "Галактики" томского специалиста по учебной робототехники Сергея Викторовича Косаченко представлять не надо. Читателям "Новатора" повезло меньше: мастер публикуется на нашей площадке нечасто.
На днях я случайно нагуглил довольно новую книгу С. Косаченко, выложенную в свободный доступ: "Программирование учебного робота mBot", 2019.
Скачать можно со страницы сайта Косаченко
Посчитал, что нельзя не поделиться с коллегами.
Слово - автору:
Материал специально составлен так, чтобы одни и те же программы для робота можно было бы составить как в среде mBlock (Scratch), так и написать в Arduino IDE (C/C++). Такой подход позволит познакомиться и с введением в программирование для начинающих в «пазлоподобной», визуальной среде mBlock, где очень сложно ошибиться, и поможет отработать навык начинающего программиста в «продвинутом» Си-подобном языке программирования (более сложном, но и более мощном) в среде Arduino IDE. При этом используется один и тот же робот mBot.
Книга может использоваться как дополнительное учебное пособие на занятиях по образовательной робототехнике.
Для преподавателей кружков робототехники школ, для широкого круга читателей.
Но "железо", программное обеспечение - это всё преходяще. "А музыка вечна!" В смысле - самое ценное в подобной литературе для педагога - упражнения и проекты, с помощью которых можно "завести" детей.
"Их есть у него":
- Датчик освещённости
- ИК управление
- BlueTooth управление
- Проект "Гонки по линии"
- Проект "Робот для робосумо"
и некоторые другие.
Но больше всего мне приглянулся
Проект: mBot = Терменвокс
Терменвокс — это электромузыкальный инструмент, созданный в 1920 году российским изобретателем Львом Сергеевичем Терменом.
Работая над задачей по измерению диэлектрической постоянной газов, Термен изобрел чувствительный прибор, который улавливал малейшие изменения емкости колебательного контура, например, изменением положения руки человека в пространстве, вследствие чего изменялась частота звука.
"Аранжировка Косаченко" - изменение положения руки фиксировать датчиком дальности робота.
Я переложил (с упрощением) "партию mBot" для исполнения на роботе Maquuen с контроллером микро:бит, среда программирования MakeCode:.
Maqueen = Терменвокс
Исполняемые ноты сокращены до 8, от "до" до следующего "до", чтобы потренироваться на гамме.
"Ширину" ноты возьмём (наудачу) 7см: 0-7 см - "до", 7-14 - ре, и так далее.
- Создадим новый проект.
- Добавим в проект расширение Maqueen
- Заведём переменную "шаг"
- В блоке "при начале" присвоим переменной шаг значение 7
- Заведём числовой массив из 8 элементов "список"
- Заполним массив частотами нот от "до" до следующего "до"
(частоты можно извлечь из блока "сыграть тоном (Гц)" папки Музыка)
В блоке "постоянно" будем исполнять ноту, используя блок "сигнал тоном "Гц". Параметром в блоке будет элемент списка.
Чтобы определить индекс в списке, нужно расстояние, полученное с датчика дальности, разделить на шаг.
Если индекс выходит за пределы списка - остановить музыку
Поисполнял "музыку", перемещая робота около стены: было забавно.
Жаль, слух не позволяет исполнить что-то
Благодарности
Спасибо, Сергей Викторович!