WeDo 2.0 и робототехника

Датчик наклона и датчик движения WeDo 2.0: программирование и 6 моделей

Разбираем датчик наклона и датчик движения WeDo 2.0: как программа ждёт событие и запускает действие — и шесть моделей каталога с готовыми цепочками блоков.

РобоГуру обновлено
Датчики наклона и движения WeDo 2.0 на модели из конструктора РобоГуру, совместимого с набором

Датчик наклона и датчик движения — та часть набора LEGO Education WeDo 2.0, благодаря которой модель словно «видит» происходящее вокруг: собака включает мотор по взмаху ладони, лифт везёт кабину туда, куда наклонили корпус. Секрет — в программе: она ждёт событие и отвечает на него действием. Ниже — принцип, на котором строится любая такая программа, и программы шести моделей из нашего каталога — от собаки с камерой до самолёта с турбинами.

Два датчика — два способа заметить событие

Датчик наклона реагирует на положение собственного корпуса. Состояний шесть: наклон вверх, наклон вниз, наклон в одну сторону, наклон в другую, ровное положение и тряска. В приложении WeDo 2.0 каждому состоянию соответствует готовый значок — ребёнок выбирает нужный, заучивать ничего не приходится.

Датчик движения — белый брусок с двумя тёмными окошками — обнаруживает предмет перед собой, не касаясь его. Названий у этого датчика несколько: в документах LEGO он «датчик перемещения», в приложении подписан «датчик расстояния»; дальше в статье — датчик движения. Программа может ждать от него три события: предмет приближается, предмет удаляется, расстояние меняется в любую сторону. Есть и четвёртый вход, без ожидания, — он отдаёт текущее показание числом.

Базовый набор РобоГуру 2.0 на батарейках, 280 деталей

Детям от 7 лет — домой, в кружок робототехники и в школу

3 490 ₽ Старая цена: 4 000 ₽

Купить конструктор

Датчик наклона реагирует на поворот или тряску самой модели, а датчик движения — на происходящее перед ней. Устройство датчиков и подключение к СмартХабу разобраны в статье об электронике набора WeDo 2.0; здесь мы занимаемся программами.

Как строится программа с датчиком

Оранжевый значок датчика сам по себе ничего не запускает. Его вставляют в овальное гнездо жёлтого блока «Ожидание» — того, что с песочными часами. Опрашивать датчик не нужно: программа может простоять на этом блоке сколько угодно и продолжится, как только событие произойдёт — предмет приблизился, корпус наклонили. Так собирается правило «если наклонили — включи мотор»; вход в гнезде ожидания играет роль условия. Официальное руководство LEGO Education называет это принципом условий — conditions: часть программы никогда не выполнится, если событие не наступит вовсе.

Запускают цепочку нажатием на её первый блок — «Начало»; отдельной кнопки запуска в приложении нет. Стартовых блоков три: кроме «Начала» есть «Запуск по клавише» и «Запуск по сообщению», оба встретятся ниже — в самолёте и лифте. А чтобы реакция повторялась, ожидание кладут внутрь жёлтой скобы «Повтор», то есть в цикл.

Программа трактора с ковшом в приложении WeDo 2.0: круглый жёлтый блок запуска, жёлтая скоба цикла поверх всей цепочки, четыре жёлтых блока ожидания с оранжевыми входами датчика, между ними зелёные блоки цвета индикатора и мотора с числами 6, 8, 9, 7, 5 и 9 в голубых полях, в конце значок бесконечного повтора

Программа «Трактора с ковшом» со страницы 67 буклета целиком: четырнадцать блоков в цикле, четыре ожидания подряд — вперёд, стоп, назад, стоп — и круг начинается заново

В буклете эта программа с датчиком напечатана целиком. Слева круглый блок «Начало», дальше скоба цикла накрывает всю цепочку. Внутри четыре блока ожидания с оранжевыми входами датчика движения, между ними зелёные блоки мотора и цвета индикатора с числами 6, 8, 9, 7, 5 и 9 в голубых полях, а замыкает скобу значок из двух круговых стрелок — повтор бесконечный. Что этот круг делает вживую, разберём чуть ниже, в разделе про трактор.

В WeDo 2.0 нет блока ветвления «если… иначе»: когда нужны разные реакции на разные состояния датчика, собирают несколько параллельных цепочек, у каждой — свой стартовый блок. Переменных нет, их роль играет число на экране приложения. Сравнить показание датчика с числом тоже нечем: условия вроде «расстояние меньше пяти» в палитре не существует. Этих средств достаточно для программ шести моделей, разобранных ниже. Все режимы палитры описаны в справочнике блоков WeDo 2.0.

Датчик движения в собаке и гоночной машине

Простейший случай — собака с камерой. Ладонь приближается к морде, пёс включает мотор и подаёт голос с планшета. В программе четыре блока: старт, ожидание с входом датчика, мотор, звук. Нажимать после запуска ничего не нужно. Режим для входа датчика ребёнок выбирает сам — «предмет приближается», «удаляется» или «расстояние меняется»: мотор и звук сработают в любом из трёх, разница в том, какое движение ладони их запустит. Датчик закреплён под грудью, между зелёными балками-ногами, а оба гнезда СмартХаба заняты — мотор и датчик. Как модель собирается по шагам, разобрано в подборке первых моделей WeDo 2.0.

Датчик наклона и датчик приближения — в наборе РобоГуру 2.0 на 280 деталей, вместе с мотором и СмартХабом. Купить — 3 490 ₽

Фрагмент схемы собаки с камерой: белый датчик движения с двумя круглыми окошками закреплён под СмартХабом между зелёными балками-ногами и обведён красной линией

Датчик под грудью собаки направлен вперёд и чуть вниз — ладонь у морды оказывается в его луче первой

А теперь контрпример. У гоночной машины с крыльями — в каталоге схема называется «Бэтмобиль с крыльями» — датчик тот же, но одно событие стоит в цепочке дважды. Программа со страницы 48 буклета, шесть блоков:

Начало → Ожидание [вход датчика движения] → Мощность мотора [10] → Мотор в ту сторону → Ожидание [вход датчика движения] → Мотор выключить

Оба оранжевых входа одинаковые. Первый взмах руки включает мотор на полной мощности, второй — выключает: программа дважды дожидается одного и того же события, просто в разных местах цепочки. Сам датчик стоит за кабиной на лаймовой клиновидной площадке; его линзы направлены вперёд над капотом, поэтому рука над машиной проходит прямо перед датчиком.

Датчик внутри цикла — трактор и касса

Вернёмся к программе трактора с ковшом — той, что на картинке выше, — и прочитаем её по шагам. Взмах перед кабиной — трактор идёт вперёд на мощности 8, ещё взмах — встаёт, третий — едет назад, уже на мощности 5, четвёртый — снова стоп, и круг замыкается. Перед каждым из четырёх участков стоит блок цвета индикатора: в начале круга СмартХаб светится цветом 6, перед задним ходом — цветом 7, перед обеими остановками — цветом 9. Подсветка здесь — подсказка: четыре одинаковых взмаха легко перепутать, а по цвету видно, в каком месте круга программа находится сейчас. Датчик у трактора встроен в переднюю стенку кабины — две круглые линзы направлены на дорогу; мотор приводит колёса в движение, а ковш поднимают рукой.

У кассы с конвейерной лентой ожидание тоже встроено в цикл, но работа у него другая. Мотор крутит ролики дорожки на самой малой мощности, а выполнение приостанавливается на блоке с входом датчика. Проехал товар — к числу на экране прибавляется единица, звучит сигнал, и цикл заходит на новый круг. Счётчик в каталоге такой один, и собран он без переменных: ноль выводится на экран один раз, до цикла, внутри к нему прибавляется по единице, а обнулить счёт на ходу не получится. Датчик — наверху дорожки, у дальнего конца, развёрнут вдоль трёх чёрных шин, по которым едет товар. На кассе в магазине фотоэлемент стоит у самого конца ленты, перед кассиром, и команда у него обратная: товар доехал, перекрыл луч — лента встала. Здесь же по сигналу датчика растёт счёт, а лента едет дальше.

Управление лифтом и самолётом по наклону

У лифта с цветком и самолёта с турбинами подключён второй датчик набора — наклона. Логика у обеих моделей общая: корпус наклоняют, как рукоятку джойстика, и каждому положению назначено своё действие мотора.

Лифт управляется наклоном корпуса: в одну сторону — кабина ползёт вверх, в другую — вниз, вернули ровно — стоп. В буклете на странице 53 это собрано на сообщениях: ведущая цепочка в бесконечном цикле рассылает сообщение с текущим показанием датчика наклона, а три короткие цепочки «Запуск по сообщению» ждут каждая своего значения — одна включает мотор в одну сторону, вторая в другую, третья выключает. Четыре цепочки вместе дают то самое «если… иначе», которого нет в палитре: среди разобранных программ каталога это единственное разветвление по состоянию датчика. Есть у схемы и слабое место: когда кабина доезжает до верха и упирается, мотор при наклоне тянет дальше — модели нечем узнать, что подъём кончился. На первом запуске не убирайте руку от кабины и возвращайте корпус в ровное положение, как только она дойдёт доверху.

У самолёта та же схема управления наклоном записана нагляднее. Программа со страницы 24 буклета — три параллельные цепочки:

  1. Запуск по клавише [A] → Мотор в ту сторону → Повтор { Ожидание [наклон в одну сторону] → Мощность мотора [3] }
  2. Запуск по клавише [A] → Мотор в ту сторону → Повтор { Ожидание [наклон в другую сторону] → Мощность мотора [10] }
  3. Запуск по клавише [A] → Повтор { Ожидание [нет наклона] → Мотор выключить }

Все три начинаются блоком «Запуск по клавише» с одной и той же буквой A — такие цепочки стартуют одновременно, так устроено приложение. Дальше каждая цепочка крутит свой бесконечный повтор и отвечает за одно состояние: первая при наклоне в одну сторону ставит винту мощность 3, вторая при обратном наклоне — 10, третья выключает мотор, как только корпус выровняли. Направление вращения в обеих «наклонных» цепочках одно и то же, звука и индикатора в программе нет вовсе. А рукояткой служит весь корпус: датчик утоплен в брюхо фюзеляжа заподлицо и снаружи не виден — из носа наружу выступает только серый цилиндр мотора с винтом прямо на оси.

Самолёт с турбинами из деталей, совместимых с WeDo 2.0: серый цилиндр мотора вдоль фюзеляжа, на его оси винт с песочно-жёлтыми лопастями, на прямых серых крыльях по чёрной стойке-турбине, снизу бело-салатовые поплавки; датчик наклона утоплен в корпус и снаружи не виден

Датчик наклона спрятан внутри фюзеляжа, поэтому рукояткой джойстика работает весь корпус самолёта

Проекты без готовых схем

Это проекты «придумай сам»: готового разбора в каталоге у них нет, конструкцию и программу придумывают самостоятельно — из блоков, знакомых по моделям выше.

  • Автоматические ворота. Датчик движения у створки, в программе — ожидание приближения, после него мотор поднимает стрелу. В каталоге есть близкие схемы: в описании «Ворот с белой машиной» указано, что ворота можно открывать по сигналу датчика расстояния; есть и «Малые автоматические ворота» — но конструкцию под датчик придётся продумать самим.
  • Сигнализация. Ожидание любого изменения расстояния в бесконечном цикле; на каждое срабатывание — звук и цвет индикатора СмартХаба.
  • Реакция на тряску. Вход «тряска» датчика наклона: встряхнули модель — цепочка продолжилась. Подойдёт для любой модели, которую берут в руки.

Что проверить, если датчик не реагирует

Чаще всего дело не в поломке, а в мелочах сборки или в самой программе.

Оба датчика, о которых речь, идут в наборе РобоГуру 2.0 на 280 деталей — наклона и приближения. Купить — 3 490 ₽

  • Провод не вставлен до щелчка. Датчик не определяется, если провод сидит неплотно, переподключите его в любой из двух портов СмартХаба.
  • Оранжевый блок стоит отдельно. Вход датчика работает только в гнезде жёлтого блока «Ожидание» или другого блока с гнездом; сам по себе на поле он ничего не запускает.
  • Предмет вплотную к датчику. Слишком близкий предмет датчик движения может не обнаружить — отодвиньте его чуть дальше.
  • Предмет замер перед датчиком. Режимы приближения и удаления срабатывают от самого движения: неподвижная ладонь для них — уже прошедшее событие. Уберите руку и поднесите снова.
  • Тряска слишком лёгкая. Чувствительность не настраивается, встряхивать модель нужно ощутимо.
  • После нажатия на блок «Начало» ничего не происходит. Если первым в цепочке стоит блок ожидания, так и должно быть: условие ещё не выполнено. Поднесите руку к датчику движения или наклоните модель — выполнение продолжится.

Если приложение вообще не находит СмартХаб, датчики ни при чём — смотрите отдельный разбор, почему WeDo 2.0 не подключается.

Как объяснять датчики ребёнку

Не начинайте с «инфракрасного луча» и «условного оператора». Сначала задайте вопрос: «Как думаешь, откуда робот знает, что перед ним стена?» — и дайте ребёнку подвигать рукой перед датчиком, глядя, как в приложении меняется число: связь между показанием и действием видна прямо на экране. Затем полезно проговорить правило до сборки: «если наклонили — кабина едет вверх». Такая фраза переводится в блоки почти дословно: наклон превращается в оранжевый вход, «едет вверх» — в блок мотора.

Что дальше

Если датчики — ваша первая встреча с программированием WeDo 2.0, начните с основ программирования: там первая цепочка собирается с нуля, вплоть до классической остановки машинки перед препятствием. А схемы всех шести моделей из этой статьи с бесплатными PDF-инструкциями лежат в каталоге сборок РобоГуру — выбирайте, с какой начать.

#WeDo 2.0 #датчики #программирование #робототехника для детей

Хотите собрать первого робота дома?

Наборы РобоГуру — это конструктор с мотором и датчиками: собранная модель едет по программе, которую ребёнок написал сам. Работает с бесплатным приложением WeDo 2.0, интернет для занятий не нужен.

Базовый набор РобоГуру 2.0 на батарейках, 280 деталей

Детям от 7 лет — домой, в кружок робототехники и в школу

3 490 ₽ Старая цена: 4 000 ₽

Купить конструктор

Остальные комплектации и актуальные цены — в магазине . Про приложение и операционные системы — совместимость и ПО .

Ещё не готовы покупать? Пришлём новую схему сборки в ближайшую пятницу — подпишитесь на рассылку схем.

Больше материалов в разделе «WeDo 2.0 и робототехника» .

Все статьи

РобоГуру — собственный бренд; конструкторы полностью совместимы с LEGO Education WeDo 2.0 (не оригинал LEGO).

Схема уже скачивается

Прислать следующую? По пятницам отправляем одну новую схему сборки — мы собираем её руками и проверяем вместе с программой. Одно письмо в неделю, отписаться можно в один клик.

Что приходит в рассылке