Датчик наклона и датчик движения WeDo 2.0: программирование и 6 моделей
Разбираем датчик наклона и датчик движения 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: часть программы никогда не выполнится, если событие не наступит вовсе.
Запускают цепочку нажатием на её первый блок — «Начало»; отдельной кнопки запуска в приложении нет. Стартовых блоков три: кроме «Начала» есть «Запуск по клавише» и «Запуск по сообщению», оба встретятся ниже — в самолёте и лифте. А чтобы реакция повторялась, ожидание кладут внутрь жёлтой скобы «Повтор», то есть в цикл.

Программа «Трактора с ковшом» со страницы 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 буклета — три параллельные цепочки:
Запуск по клавише [A] → Мотор в ту сторону → Повтор { Ожидание [наклон в одну сторону] → Мощность мотора [3] }Запуск по клавише [A] → Мотор в ту сторону → Повтор { Ожидание [наклон в другую сторону] → Мощность мотора [10] }Запуск по клавише [A] → Повтор { Ожидание [нет наклона] → Мотор выключить }
Все три начинаются блоком «Запуск по клавише» с одной и той же буквой A — такие цепочки стартуют одновременно, так устроено приложение. Дальше каждая цепочка крутит свой бесконечный повтор и отвечает за одно состояние: первая при наклоне в одну сторону ставит винту мощность 3, вторая при обратном наклоне — 10, третья выключает мотор, как только корпус выровняли. Направление вращения в обеих «наклонных» цепочках одно и то же, звука и индикатора в программе нет вовсе. А рукояткой служит весь корпус: датчик утоплен в брюхо фюзеляжа заподлицо и снаружи не виден — из носа наружу выступает только серый цилиндр мотора с винтом прямо на оси.

Датчик наклона спрятан внутри фюзеляжа, поэтому рукояткой джойстика работает весь корпус самолёта
Проекты без готовых схем
Это проекты «придумай сам»: готового разбора в каталоге у них нет, конструкцию и программу придумывают самостоятельно — из блоков, знакомых по моделям выше.
- Автоматические ворота. Датчик движения у створки, в программе — ожидание приближения, после него мотор поднимает стрелу. В каталоге есть близкие схемы: в описании «Ворот с белой машиной» указано, что ворота можно открывать по сигналу датчика расстояния; есть и «Малые автоматические ворота» — но конструкцию под датчик придётся продумать самим.
- Сигнализация. Ожидание любого изменения расстояния в бесконечном цикле; на каждое срабатывание — звук и цвет индикатора СмартХаба.
- Реакция на тряску. Вход «тряска» датчика наклона: встряхнули модель — цепочка продолжилась. Подойдёт для любой модели, которую берут в руки.
Что проверить, если датчик не реагирует
Чаще всего дело не в поломке, а в мелочах сборки или в самой программе.
Оба датчика, о которых речь, идут в наборе РобоГуру 2.0 на 280 деталей — наклона и приближения. Купить — 3 490 ₽
- Провод не вставлен до щелчка. Датчик не определяется, если провод сидит неплотно, переподключите его в любой из двух портов СмартХаба.
- Оранжевый блок стоит отдельно. Вход датчика работает только в гнезде жёлтого блока «Ожидание» или другого блока с гнездом; сам по себе на поле он ничего не запускает.
- Предмет вплотную к датчику. Слишком близкий предмет датчик движения может не обнаружить — отодвиньте его чуть дальше.
- Предмет замер перед датчиком. Режимы приближения и удаления срабатывают от самого движения: неподвижная ладонь для них — уже прошедшее событие. Уберите руку и поднесите снова.
- Тряска слишком лёгкая. Чувствительность не настраивается, встряхивать модель нужно ощутимо.
- После нажатия на блок «Начало» ничего не происходит. Если первым в цепочке стоит блок ожидания, так и должно быть: условие ещё не выполнено. Поднесите руку к датчику движения или наклоните модель — выполнение продолжится.
Если приложение вообще не находит СмартХаб, датчики ни при чём — смотрите отдельный разбор, почему WeDo 2.0 не подключается.
Как объяснять датчики ребёнку
Не начинайте с «инфракрасного луча» и «условного оператора». Сначала задайте вопрос: «Как думаешь, откуда робот знает, что перед ним стена?» — и дайте ребёнку подвигать рукой перед датчиком, глядя, как в приложении меняется число: связь между показанием и действием видна прямо на экране. Затем полезно проговорить правило до сборки: «если наклонили — кабина едет вверх». Такая фраза переводится в блоки почти дословно: наклон превращается в оранжевый вход, «едет вверх» — в блок мотора.
Что дальше
Если датчики — ваша первая встреча с программированием WeDo 2.0, начните с основ программирования: там первая цепочка собирается с нуля, вплоть до классической остановки машинки перед препятствием. А схемы всех шести моделей из этой статьи с бесплатными PDF-инструкциями лежат в каталоге сборок РобоГуру — выбирайте, с какой начать.
Хотите собрать первого робота дома?
Наборы РобоГуру — это конструктор с мотором и датчиками: собранная модель едет по программе, которую ребёнок написал сам. Работает с бесплатным приложением WeDo 2.0, интернет для занятий не нужен.
Базовый набор РобоГуру 2.0 на батарейках, 280 деталей
Детям от 7 лет — домой, в кружок робототехники и в школу
3 490 ₽ Старая цена: 4 000 ₽
Остальные комплектации и актуальные цены — в магазине . Про приложение и операционные системы — совместимость и ПО .
Ещё не готовы покупать? Пришлём новую схему сборки в ближайшую пятницу — подпишитесь на рассылку схем.
Читайте также
Аналоги LEGO WeDo 2.0: сравнение с оригиналом
Оригинальный набор WeDo 2.0 снят с производства. Сравниваем модель 45300 с китайскими копиями и наборами РобоГуру по комплектации и условиям поддержки.
Читать →Блоки и первая программа в WeDo 2.0
Программирование WeDo 2.0 для начинающих: что означают блоки в приложении, как их соединять и как собрать первую программу с ребёнком за пять минут.
Читать →Новогодние модели WeDo 2.0: ёлка, Санта и план занятия
Новогодние модели из WeDo 2.0: ёлка с шестерёнками, летающий Санта и олень с санями. Разбираем механику, программы из 3–5 блоков и план занятия к празднику.
Читать →Больше материалов в разделе «WeDo 2.0 и робототехника» .
Все статьиРобоГуру — собственный бренд; конструкторы полностью совместимы с LEGO Education WeDo 2.0 (не оригинал LEGO).