0

Лего программирование

Можешь и сам попробовать.

Наверное, ты ждал под заголовком статью о том, как LEGO таинственным способом делает из детей гениев-программистов? На самом деле, важность знания азов программирования в современном мире сложно переоценить.

Почему программированию надо учиться с детства

Достаточно оглянуться вокруг – нас окружают операционные системы на мобильных и настольных гаджетах, «умные дома”, системы виртуальной реальности, самодвижущийся транспорт и многое другое, что еще недавно казалось фантастикой или далеким будущим.

Это имеет самое непосредственное отношение к образованию. Готовила ли тебя школа к использованию современных технологий? И речь не обязательно про информатику. Например, в моей школе наиболее сложным прибором был токарный станок, где на уроке труда мы вытачивали деревянные подсвечники.

Даже при работе с этим аппаратом из 70-х годов требовалось базовое понимание алгоритмов – нужно подготовить деталь, закрепить её, проверить, безопасно ли начинать работу, и только потом включить станок. Звучит элементарно? Для взрослого человека – да, но не для ребят младшего школьного возраста.

Самая главная задача – это увлечь ребенка процессом. Магическое превращение куска дерева в элегантный подсвечник стало достаточным стимулом для начала обучения. Примерно в том же возрасте я записался в ближайший «Юный техник”, где популярность секции «электронные машинки на дистанционном управлении” была столь высока, что очередь на запись была на 2 (два!) года вперед.

Пришлось идти на выжигание, а запах жженой фанеры я до сих пор распознаю с удивительной точностью.

В возрасте постарше я познакомился с первыми ПК, диалап-интернетом и попытался освоить «классическое программирование” при помощи толстой книги «Программирование на C++”. Меня ожидало полное разочарование – более скучной книги я не читал, пожалуй, никогда. «Глава 2” осталась непреодолимым препятствием, которое даже спустя пятнадцать лет наводит на меня зевоту.

Как легко научить ребёнка программировать

Если бы в моем детстве обожаемый мной конструктор LEGO умел то, что умеет сейчас – кто знает, писал бы я сейчас эти строки или занимался бы программированием всерьёз. Знакомит детей одновременно с программированием и с основами робототехники серия конструкторов LEGO Education WeDo, которая представлена различными наборами.

Некоторые из них назвать «умными” можно только условно, но каждый посвящен различными обучающим сценариям.

Серия WeDo продается на рынке уже несколько лет и успела «подрасти” до версии 2.0, где добавилась беспроводная передача данных по Bluetooth, совместимость с iPad, и обновленное ПО.

К сожалению, между собой версии 1.2 и 2.0 не совместимы. Но с функциональными возможностями все хорошо у обоих версий WeDo – наборы для конструирования, программирования и создания Lego-механизмов больше не прерогатива дорогой серии Mindstorms.

Программа WeDo 1.2 с дополнением Feature Pack 2 занимает около гигабайта места и бесплатно не распространяется. Её можно приобрести на почти архаичном CD. Будем надеяться, что скоро LEGO будет раздавать и предыдущую версию даром (так как сейчас бесплатно доступна версия ПО 2.0). Все материалы переведены на русский язык, а для WeDo 2.0 доступно также приложение для iOS. Дизайн программ унифицирован, в нём минимум текста и много видеороликов — как развлекательных, так и учебных.

На какие наборы LEGO Education стоит обратить внимание

Что же такого хорошего в первой версии WeDo? Основной набор называется LEGO Education WeDo Construction Set 9580 (LEGO Education 9580 Строительный набор «Перворобот» WeDo) и состоит из 158 элементов. Тут можно найти долгожданную «изюминку” – USB-коммутатор (через него происходит управление моторами и датчиками), управляемый мотор и два датчика.

Работать одновременно можно с тремя (!) наборами. Датчик наклона различает шесть положений – «Носом вверх», «Носом вниз», «На левый бок», «На правый бок», «Нет наклона» и «Любой наклон». Датчик расстояния обнаруживает объекты на расстоянии до 15 см. Мотор же способен крутится по часовой стрелке или против неё, можно настраивать уровень его мощности.

Для управления этими гаджетами и понадобится старое доброе программирование – можно использовать язык програмирования Cкретч, который собственно и был создан как продолжение идей языка Лого и конструктора LEGO. Первые версии Скретча разрабатывались небольшой командой программистов для детей в Массачусетском технологическом институте.

Программы на Скретче состоят из графических блоков, подписи на которых доступны на русском языке. Для программирования сценариев используется «drag-and-drop-подход” – блоки из доступной «палитры блоков” перетаскиваются в область скриптов – так просто, что разберётся даже ребенок. Хотя минуточку, в этом и есть главная фишка!

Каждый из этих элементов (мотор, датчики и взаимодействие между ними), а еще поведения экрана монитора и звуковое сопровождение можно запрограммировать в необходимой последовательности — согласно собственным пожеланиям или при помощи учебных материалов-подсказок.

Учебных материалов тут даже больше, чем нужно. Например, руководство для взрослого (для родителя или учителя) доступно в виде PDF документа, занимающего 177 страниц! «Из коробки» доступны инструкции по сбору двенадцати различных моделей, программировать которые можно подключив USB-коммутатор к компьютеру или ноутбуку, где и исполняется собранный из блоков код. Механизмы разделены согласно учебным задачам:

  • «забавные механизмы” (помогают в изучении основ физики)

  • «звери” (модели и работа с ними дают понимание того, что система должна реагировать на свое окружение – крокодила можно научить закрывать пасть, а птицу – щебетать или порхать в зависимости от наклона)
  • «футбол” (удивительно, но эти модели посвящены математике – подсчёт количества голов)
  • «приключения” (наиболее динамичная часть, включающая мини-фигурки в качестве персонажей и водителей для различных механизмов)

Обучение происходит в четыре этапа — это этап установления взаимосвязей (конструирование, рефлексия и развитие). Потому для каждой из инструкций доступны вводная часть, инструкции по сборке, наводящие вопросы и предложение по дальнейшим действиям. Сразу ощущается разница между LEGO и простыми игрушками – после сбора модели интерес к ней не пропадает, всегда есть задел на будущее.

Расширить многообразие возможных роботов-моделей способен отдельный ресурсный набор Lego Education WeDo Resource Set (9585), с колёсами и ротором.

Деталей в нём вдвое больше, нежели в базовом — 326 элементов, включая дополнительные минифигурки LEGO, для которых (по большей части) и строятся все конструкции — это может быть не только карусель, кран, лифт, механический крокодил, обезьянка-барабанщица, но и куда более сложные и занимательные механизмы. Подрастающему творцу будет еще интереснее возвращаться к набору раз за разом!

Чтобы получить «всё и сразу”, Lego Education WeDo 9580 и ресурсный набор WeDo 9585 можно приобрести одним комплектом, а хранить детали можно в коробке-контейнере.

Используя больше двух наборов WeDo вместе с дополнительными блоками можно усложнять и создавать собственные конструкции, всё ограничивается лишь фантазией (и количеством доступных деталей). В качестве примера приведу настольный робо-теннис:

Совершенно не обязательно использовать набор, требующий компьютера. Если ребенку (или ребенку внутри тебя) около 5-6 лет или больше по душе «чистая механика”, отличным выбором станет набор «Простые механизмы» Lego Simple Machines Set (9689), где вместо мотора в комплекте колеса, рычаги, ролики и оси, а всего элементов – 204.

При помощи него легко можно изучить процесс передачи движения и преобразования энергии в машине. Постепенно можно переходить к более сложным типам движения, использующих кулачок, червячное и коронное зубчатые колеса. Это даст понимание того, как трение влияет на движение модели.

Впрочем, строить механические конструкции можно и при помощи набора «Перворобот”, просто используя вместо мотора удобную ручку и собственные усилия. Каждый из таких наборов не стыдно подарить учебному заведению в качестве учебного пособия – вместе с методическими материалами они смогут радовать новых учеников каждый год. Ну или целый отряд детишек, собравшийся дома на выходные. 🙂

Для деток помладше (дошкольного возраста от 3-4 лет) такие наборы не подойдут – на помощь может прийти базовый набор «Моя первая история» Lego StoryTales (45005), развивающий языковые навыки. Игровой сценарий предлагает ребенку и родителю выступить в качестве рассказчика сказки или истории, а сами детали выступают в роли качестве главных героев, актёров и инвентаря.

При помощи iPad’а и программы StoryVisualizer можно формировать графические комиксы-истории, комбинируя элементы набора с изображением на экране. Кроме того, в комплекте есть карточки с идеями и подсказками для родителей или преподавателей. Сами элементы конструктора тут крупнее (это сделано для безопасности), а в комплекте их 106.

Судя по отзывам в интернете, это работает – детям нравится как и сам конструктор LEGO, так и то что он «растёт” вместе с ними.

Научи детей программированию с помощью LEGO

Каждый, кто хоть раз заходил на современный сервер, где дети играют в Minecraft, понимает – иногда лучше сохранить минимальный контроль за развлечениями и обучением, и «оффлайновый” конструктор LEGO для этого подходит как нельзя лучше.

Потому серия Education от LEGO — это конструктор, способный подарить ребенку не только удовольствие от игры, но и крайне полезные знания и навыки. Детский «безъязыковой» графический интерфейс почти не содержит надписей, а видеоинструкции основаны на принципе «смотри и делай как я».

Процесс исследования ребенком основ программирования роботов способен умилить любого, а создавать роботов вместе с детьми – достойное, увлекательное занятие для современных пап и мам.

Для легкого старта в обучении команда iCover решила сделать существенную скидку 40% на 5 комплектов Lego Education.

Пользуйся промокодом legoedu40

Важно: среди оставивших свои контакты на странице акции мы разыграем готовый комплект Перворобота с дополнительным ресурсным набором. Это 2-3 месяца увлекательных занятий по вечерам!

(Проголосуйте первым за статью!)
🤓 Хочешь больше? Подпишись на наш Telegramнаш Telegram. … и не забывай читать наш Facebook и Twitter 🍒 iPhones.ru Можешь и сам попробовать. Наверное, ты ждал под заголовком статью о том, как LEGO таинственным способом делает из детей гениев-программистов? На самом деле, важность знания азов программирования в современном мире сложно переоценить. Почему программированию надо учиться с детства Достаточно оглянуться вокруг – нас окружают операционные системы на мобильных и настольных гаджетах, «умные дома”, системы виртуальной…

07.04.2020 Роза Бурганиева 2

Роза Бурганиева, преподаватель робототехники АНО «ЦПИТ «Открытая аудитория» и автор видеоблога «LEGO WeDo 2.0 Для учителей», рассказывает, как на занятиях робототехники с конструкторами LEGO научить младших школьников программировать, а не зацикливаться на конструировании.

Многие учителя робототехники говорят, что LEGO не совсем подходит для обучения детей программированию. Не верьте сразу на слово. Вспомните про блок-схемы, которые вы сами когда-то проходили в школе на информатике. А теперь давайте вместе попробуем «переложить» их на проекты LEGO WeDo 2.0.

По своей первой профессии я – учитель английского языка, но так сложились звезды, что мне посчастливилось познакомиться с лего-робототехникой, и уже 3 года я получаю удовольствие от того, что собираю с учениками роботов.

В первый год работы с LEGO WeDo 2.0 я, в основном, занималась тем, что ловила постоянно падающих со стола роботов, учила ребят работать в команде и подолгу рассматривала собранные конструкции.

На второй год я заскучала. Собирать модели и программировать по образцу стало уже неинтересно. Захотелось новенького. И я решила перенести акцент занятий с конструирования на программирование.

Научить ребенка распознавать командные блоки – это несложно. В интернете — уйма интерактивных упражнений для запоминания команд, а также сайт, на которых можно самим сделать нужные тесты (например, https://www.youtube.com/watch?v=WXgCT-Wjd90&t=223s). Гораздо сложнее оказалось научить первоклашку расставлять действия в логическом порядке. Ведь младший школьник не только не может держать в уме несколько условных действий, он еще и плохо читает, и пишет 3 слова в минуту…

К сожалению, на тот момент я не нашла в интернете готовых рекомендаций, как научить младшего школьника программировать. Зато несколько раз наткнулась на изображение блок-схем, которые сама изучала когда-то школе. И тут меня озарило! Я буду учить ребят программировать, используя блок-схемы.

Блок-схема – последовательность действий, записанная в виде геометрических фигур, где любое действие оформляется в виде прямоугольника, условие – в виде ромба, данные – в виде скошенного прямоугольника.

Таким образом, я оформила команды в ламинированные таблички и стала потихоньку приучать ребят к составлению блок-схем до кодирования.

Более подробно о том, как использовать блок-схемы при работе с Lego WeDo 2.0, вы можете узнать из видео на моем канале.

Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.

Учим программированию с помощью EV3

Современные школьники хотят видеть красочный результат. Да, им скучно, если программа выводит в консоль числа, и они хотят рассматривать цветные графики, диаграммы и создавать настоящих роботов, движущихся и выполняющих команды. Обычный код тоже кажется детям слишком сложным, поэтому обучение лучше начинать с чего-нибудь полегче.
Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.
Такой способ хорошо работает, когда нужно показать, как строятся алгоритмы, но он не подходит для программ с большим количеством блоков. При усложнении сценариев необходимо переходить на программирование с помощью кода, но детям трудно сделать этот шаг.
Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.

Переходим на MicroPython

Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.
Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.

Программируем первого робота на MycroPython

На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.

Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.
Для работы нам понадобятся:

  • базовый набор LEGO MINDSTORMS Education EV3;
  • большой лист клетчатой бумаги;
  • цветные маркеры.

Сборка самого робота есть винструкции, а мы рассмотрим пример программирования.
Сначала инициализируем библиотеку модулей EV3:
#!/usr/bin/env pybricks-micropython from pybricks import ev3brick as brick from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor) from pybricks.parameters import Port, Stop, Direction, Color, ImageFile from pybricks.tools import wait
Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, )
Настраиваем подъемный механизм для ручки как мотор в порте C:
seesaw_motor = Motor(Port.C)
Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:
gyro_sensor = GyroSensor(Port.S2)
Настраиваем цветовой датчик в порте 3. Датчик используется, чтобы определять белую бумагу под чертежной машиной:
color_sensor = ColorSensor(Port.S3)
Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:
touch_sensor = TouchSensor(Port.S4)
Определяем функции, которые поднимают и опускают ручку:
def pen_holder_raise(): seesaw_motor.run_target(50, 25, Stop.HOLD) wait(1000) def pen_holder_lower(): seesaw_motor.run_target(50, 0, Stop.HOLD) wait(1000)
Определяем функцию для поворота ручки на заданный угол или до определенного угла:
def pen_holder_turn_to(target_angle): if target_angle > gyro_sensor.angle():
Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:
turntable_motor.run(70) while gyro_sensor.angle() < target_angle: pass elif target_angle < gyro_sensor.angle():
Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:
turntable_motor.run(-70) while gyro_sensor.angle() > target_angle: pass
Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:
turntable_motor.stop(Stop.BRAKE)
Устанавливаем начальное положение ручки в верхнем положении:
pen_holder_raise()
Теперь идет основная часть программы — бесконечный цикл. Сначала EV3 ожидает, когда датчик цвета обнаружит белую бумагу или синюю стартовую клетку, а датчик касания будет нажат. Затем он рисует узор, возвращается в исходное положение и повторяет все заново.
Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:
while True: brick.light(Color.RED) brick.display.image(ImageFile.THUMBS_DOWN)
Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:
while color_sensor.color() not in (Color.BLUE, Color.WHITE): wait(10) brick.light(Color.GREEN) brick.display.image(ImageFile.THUMBS_UP)
Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:
while not touch_sensor.pressed(): wait(10) gyro_sensor.reset_angle(0) pen_holder_turn_to(15) pen_holder_lower() pen_holder_turn_to(30) pen_holder_raise() pen_holder_turn_to(45) pen_holder_lower() pen_holder_turn_to(60)
Поднимаем держатель ручки и возвращаем его в исходное положение:
pen_holder_raise() pen_holder_turn_to(0)</i>
Вот такая несложная программа у нас получилась. И теперь запускаем ее и смотрим на робота-чертежника в деле.

Что дают такие примеры

EV3 — это инструмент для профориентации в рамках профессий STEM и точка входа в инженерные специальности. Так как на нем можно решать практические задачи, дети получают опыт технических разработок и создания промышленных роботов, учатся моделировать реальные ситуации, понимать программы и анализировать алгоритмы, осваивают базовые конструкции программирования.
Поддержка MicroPython делает платформу EV3 подходящей для обучения в старших классах. Ученики могут попробовать себя в роли программистов на одном из самых популярных современных языков, познакомиться с профессиями, связанными с программированием и инженерным проектированием. Наборы EV3 показывают, что писать код — это не страшно, готовят к серьезным инженерным задачам и помогают сделать первый шаг к освоению технических специальностей. А для тех, кто работает в школе и связан с образованием, у нас подготовлены программы занятий и учебные материалы. В них детально расписано, какие навыки формируются при выполнении тех или иных задач, и как полученные навыки соотносятся со стандартами обучения.

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *