Продолжаем апробацию предоставленного компанией ПАКПАК набора BT Стартовый набор от fischertechnik. В прошлой статье были представлены первые впечатления от конструктива и ПО. Если вкратце - добротно, но необычно.
В новой статье посмотрим, как работает стандартное для набора ПО - ROBO Pro Light и насколько легко придумываются игровые/исследовательские ситуации для занятий.
Еще раз напомню, что существует сайт ПакПак, с разделом Полезные ссылки. Там много интересного, в частности, отличная рабочая тетрадь для рассматриваемого набора.
Рабочая тетрадь - настоящая палочка-выручалочка для первоначального освоения набора. В ней вы найдете и описание элементов набора, и схемы, и первоначальные уроки программирования. Я вообще думаю, что ее надо печатать в цвете и дополнять каждый продаваемый в России набор. Тогда будет какая-то законченность для пользователя: книжка со схемами сборки конструктора, и книжка с программированием контроллера, причем в примерах - конструкции из первой книжки. Понятно, что могут скачать с сайта, но это не то, сначала найти, потом на экране смотреть или распечатывать для ребенка... Надо печатать в типографии и вкладывать в наборы!
Ладно, начнем. За основу конструкции возьмем карусель - первый пример в книжке по сборке. Сам процесс сборки можно посмотреть в видеоролике. Ребята из 5 класса, хорошо знакомые с Lego, но впервые взявшие в руки конструктор fischertechnik. Весь процесс самостоятельный, я только камеру поставил и ушел вести занятия в другой кабинет. По заключению ребят - непривычно, детали мелкие, но вроде крепкие, конструкции получаются плотные.
Ну вот, карусель есть, пора ее запустить. А для этого нужно программировать контроллер. Оговорюсь - в данной статье говорим о варианте управления с компьютера, по кабелю USB. Особенности работы конструктора по Bluetooth и с компьютером, и с мобильными приложениями - чуть позже.
И еще одно замечание. Имеющийся в моем распоряжении аккумулятор типа "Крона" совсем в умирающем состоянии, а новыми еще не обзавелись. На определенной стадии экспериментов, когда питание вновь пропало, я просто попробовал запитать контроллер от блока питания, который обслуживает у нас одноплатные компьютеры Cubietrack, благо разъем совпал. Это блоки на 5В, но девятивольтовых рядом не было... Результат - все прекрасно работает, отлично крутит, стабильность выполнения программ повысилась. Так что заодно проверили работу от блоков питания.
Хотя для детских работ аккумуляторы лучше, это понятно (особенно для тех же вездеходов и других подвижных проектов).
Напомню, что программное обеспечение ROBO Pro Light надо брать с сайта.
https://www.fischertechnik.de/en/service/downloads/robotics - загрузка ПО
https://www.fischertechnik.de/en/service/downloads/robotics отдельно usb драйвер.
Первые попытки создания программ описаны еще в первой статье. Создание программ в виде блок-схем с возможностью настройки отдельных параметров - вполне интересный подход.
Пробуем простые проекты.
Крутим карусель 3 секунды. Щелкнув правой кнопкой по блоку управления мотором, видим вспомогательное окно, где можно выбрать порт (у нас M1), к которому подключен мотор, направление вращения и скорость.
В результате, чтобы наша карусель крутилась в правильную (по отношению к самолетикам) сторону, программа принимает такой вид:
Используем КНОПКУ
Немного усложним задачу, добавив запуск по нажатию на кнопку. Смотрим, к какому порту подключена кнопка - I1, преобразуем программу. Тоже все просто и быстро получается.
Используем светодиод. Добавляем цикл.
Раз уж в наборе есть светодиод, добавим его в конструкцию, заодно пусть выполняет служебную функцию - светится во время работы карусели. Можно надеть на него светофильтр красного света, чтобы предупреждал зевак - "Не подходи к работающей карусели!". А заодно попробуем использовать цикл, чтобы можно было включать карусель раз за разом, впуская на нее очередную порцию пассажиров.
При сборке программы не забываем посмотреть, к какому порту подключен светодиод. Вариантов не много, если мы уже задействовали под мотор M1, то остался только M2. Поэтому в настройках блоков включения и выключения светодиода выбираем M2.
Датчик освещенности (фототранзистор). Проверка "парковочной" позиции.
Далее пробуем создавать проблемные ситуации, размышляя, как в реальности улучшить работу персонала с каруселью. Один из первых, предложенных детьми вариантов - после работы "парковать" карусель, закрывать замок, а при включении проверять (используя датчик освещенности), стоит ли карусель в парковочной позиции. Если да - моргать пару раз светодиодом, если нет - включать карусель. Т.е. с утра персонал должен открыть замок и чуть провернуть карусель вручную, чтобы она далее запускалась с кнопки. Ладно, пробуем.
Для начала надо создать конструкцию для использования датчика освещенности. Приделаем пластину на одно из крыльев карусели.
И построим 2 "башни" для светодиода и фототранзистора. Они должны располагаться максимально близко и при этом не мешать прохождению пластины-индикатора. В результате для светодиода получилась регулируемая по высоте основа, позволяющая легко устанавливать светодиод на одной высоте с фототранзистором.
Собираем программу.
Все работает. Но сама идея какая-то ... надуманная. Начинаем анализировать. А что будет, если лампочка перегорела? Тогда карусель начнет вращение при закрытом замке, например, если это не проверить. Конечно, можно еще проверить сначала, горит ли светодиод вообще... Например, с помощью второго датчика освещенности.. Но какая-то уж слишком сложная конструкция получается. А если случайно карусель опять остановится так, что пластина перекроет свет? Опять вручную толкать? Нет, неинтересно.
И после нескольких вариантов различных реализаций новых предложений, решаем уйти от данной темы и наконец-то выходим на мысль - надо автоматизировать сам процесс вращения карусели, чтобы ее крылья останавливались в одной и той же позиции, чтобы пассажиры могли удобно войти и выйти из кабинок.
Автоматизируем процесс остановки.
Итак, задача. По нажатию кнопки карусель приходит в движение, крутится отведенное время с пассажирами, по истечении которого должна остановится в определенной позиции (после прохождения пластиной луча света между датчиком освещенности и светодиодом). После пары экспериментов оказывается, что на большой скорости датчик не успевает сработать, так что после 5 секунд прогулочного вращения (скорость 8), карусель переводится на скорость 2 и далее идет ожидание события. Пока свет не перекрыт - тихо вращаемся, потом - остановка.
Воот! Теперь хоть понятно, зачем использовать контроллер! Все, что делали в первых проектах, можно было просто на рубильниках и ручном включении реализовать. А тут - автоматизация))) Идем дальше.
А если мы хотим создать удобное рабочее место для сотрудника карусели? Так, чтобы она в начале работы сама искала исходную позицию для посадки пассажиров, а потом, после каждого цикла катания очередной группы - останавливалась в четко отведенном месте (со ступеньками для погрузки и выгрузки))
Это уже интересно!
Автоматизированная карусель.
По нажатию кнопки включается светодиод и далее следует проверка, не стоит ли карусель в правильном рабочем положении (когда датчик освещенности закрыт от света пластиной). Если нет - карусель медленно поворачивается, устанавливается в нужное положение (обратите внимание на небольшой откат после срабатывания датчика). Посетители могут садиться! Далее каждое нажатие на кнопку приводит к "рабочему" вращению карусели в течении 5 секунд, после чего она останавливается в той же начальной позиции, чтобы посетители могли сойти.
Далее можно порассуждать, а нужен ли вообще человек на данной карусели, или можно продолжить автоматизацию. Полетят идеи о том, что можно и обойтись, сделав таймер запуска по расписанию, но потребуется следить, чтобы люди не оказались в процессе посадки-высадки на площадке в момент включения, надо смотреть за пристегнутыми ремнями (тоже сделать датчик) и т.д. В общем, сошлись на том, что человек пока обойдется дешевле - и посмотрит, и вовремя включит, или экстренно выключит. Кстати, в одном из вариантов у нас была еще одна кнопка для экстренного выключения.
В общем - возможностей для создания умных игровых ситуаций набор предоставляет много, в зависимости от уровня задач можно использовать и во 2, и в 5 классах, только придумывай.
Ограничений конечно много, мало портов для подключения моторов, светодиодов. Очень хотелось бы видеть автономный режим, чтобы можно было программу в память контроллера загрузить и отдельно от управляющей среды использовать. 21 век как то располагает к таким возможностям))) Но и в текущем виде и с базовым ПО - вполне учебно-ориентированный набор. Сегодня показывал его своим третьеклассникам, очень заинтересовало, теперь думаю, где взять штук 8 для занятий.
Что еще... еще видео смонтировали, чтобы можно было посмотреть на перечисленные программы в действии.
В следующий раз рассмотрим возможности работы с мобильными приложениями и использование Bluetooth.
PS В приложении к статье - набор рассмотренных программ. В силу ограничений сайта по загрузкам - после скачивания переименуйте расширение файла в zip и распакуйте (или не переименовывайте, просто в контекстном меню файла выберите распаковать в...).