Датчики для лего mindstorms

Обновлено: 29.04.2024

Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.

Обращаем Ваше внимание, что c 1 сентября 2022 года вступают в силу новые федеральные государственные стандарты (ФГОС) начального общего образования (НОО) №286 и основного общего образования (ООО) №287. Теперь требования к преподаванию каждого предмета сформулированы предельно четко: прописано, каких конкретных результатов должны достичь ученики. Упор делается на практические навыки и их применение в жизни.

Мы подготовили 2 курса по обновлённым ФГОС, которые помогут Вам разобраться во всех тонкостях и успешно применять их в работе. Только до 30 июня Вы можете пройти дистанционное обучение со скидкой 40% и получить удостоверение.

ДАТЧИКИ LEGO EV 3

ГИРОСКОПИЧЕСКИЙ ДАТЧИК

Датчик гироскоп — это цифровой датчик, который способен отслеживать вращение всего по одной оси. На верхней стороне датчика расположены две стрелки. Эти стрелки показывают плоскость работы гироскопического датчика.

https://smallbasic.rubasic.ru/wp-content/uploads/2020/06/dd69.jpg

Рисунок 1. Гироскопический датчик

Для правильной работы датчика его нужно включать в контроллер EV3 в полностью неподвижном состоянии. Робот должен стоять без движения, иначе датчик будет работать некорректно. При помощи этого датчика можно легко программировать повороты робота вокруг оси.

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

ДАТЧИК КАСАНИЯ

Датчик касания является обычной подпружиненной кнопкой. Очень похожая кнопка у обычных дверных звонков. Когда нажимаешь на кнопку, раздается звонок. Если нажатия нет, то контакт под действием пружины возвращается обратно.

Датчик представляет собой специальную кнопку, которая может находиться в трех состояниях:

Датчик касания не определяет с какой силой происходит нажатие на кнопку. Но можно осуществлять подсчет нажатий. Часто датчик касания служит для остановки робота на определенном расстоянии от препятствия. Это расстояние может регулироваться закрепленными красной кнопке осями. Для крепления осей есть специальное крестообразное отверстие.

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

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

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

Для работы нам понадобится желтая палитра программирования Датчик

ДАТЧИК ЦВЕТА

Датчик цвета — это цифровой датчик, который может определять цвет или яркость света , поступающего в небольшое окошко на лицевой стороне датчика.

Режимы датчика


в режиме "Цвет" датчик может определить цвет поднесенного к нему предмета.


в режиме "Яркость отраженного света" датчик направляет световой луч на близкорасположенный предмет и по отраженному пучку определяет яркость предмета.


в режиме "Яркость внешнего освещения" датчик может определить - насколько ярко освещено пространство вокруг.

УЛЬТРАЗВУКОВОЙ ДАТЧИК

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

Ультразвуковой датчик

Рисунок 1. Ультразвуковой датчик

Ультразвуковой датчик может выдавать измеренное расстояние в сантиметрах или в дюймах. Диапазон измерений датчика в сантиметрах равен от 0 до 255 см, в дюймах - от 0 до 100 дюймов. Датчик не может обнаруживать предметы на расстоянии менее 3 см (1,5 дюймов). Так же он не достаточно устойчиво измеряет расстояние до мягких, тканевых и малообъемных объектов.


Режим «Присутствие/слушать» - датчик не излучает ультразвуковые импульсы, но способен обнаруживать импульсы другого ультразвукового датчика. Результатом обнаружения является логическое значение: «Да», если найдено ультразвуковое излучение, или «Нет», если ничего не найдено. Данный режим можно использовать, например, в состязаниях роботов-шпионов (описание режима уже говорит о том, что для его использования необходимо минимум два робота).

Датчик касания Lego EV3 является одним из самых простых датчиков.В самом начале нужно разобраться что такое датчики и для чего они нужны. Большинство датчиков являются попыткой скопировать органы чувств человека и животных.

Датчик касания Lego EV3

датчик касания

В случае с конструкторами Lego датчики получают какую-то информацию от окружающей среды. Затем полученный сигнал преобразуется в удобную для обработки форму.

То есть датчик — это какой-то преобразователь. Он преобразует контролируемую величину в сигнал, который мы можем использовать для своих целей. Датчики широко используются в роботах и позволяют управлять ими.

Датчик касания Lego EV3 является обычной подпружиненной кнопкой. Очень похожая кнопка у обычных дверных звонков. Когда нажимаешь на кнопку раздается звонок. Если нажатия нет, то контакт под действием пружины возвращается обратно.

кнопка дверного звонка

кнопка дверного звонка

Такое хорошо всем знакомое устройство как компьютерная мышь также использует датчик касания. В клавишах мыши расположены кнопочные микровыключатели, которые при нажатии издают характерный щелчок.

компьютерная мышь

мышь для компьютера

Датчик касания Lego EV3 является аналоговым датчиком. Для программирования мы можем использовать три случая:

  1. Кнопка нажата и находится постоянно в этом положении
  2. Кнопка не нажата
  3. Кнопку нажали и отпустили т.е. щелчок

Датчик касания не определяет с какой силой происходит нажатие на кнопку. Но можно осуществлять подсчет нажатий. Часто датчик касания служит для остановки робота на определенном расстоянии от препятствия. Это расстояние может регулироваться закрепленными красной кнопке осями. Для крепления осей есть специальное крестообразное отверстие.

крестообразное крепление датчика касания

крестообразное крепление датчика касания EV3

Оси имеют различную длину от двухмодульной оси до двенадцатимодульной. В Lego EV3 используется обозначение расстояния в модулях где один модуль равен восьми миллиметрам.

Контроллер Lego EV3

Контроллер Lego EV3 часто называют кирпичом. Кирпич имеет входные порты для датчиков. Они называются порты ввода и обозначаются цифрами 1, 2, 3, 4. Всего четыре входных порта, куда можно подключить четыре датчика.

Порты ввода

входные порты

Датчик касания подключается к кирпичу при помощи плоского соединительного кабеля. По умолчанию датчику касания для подключения определен порт под номером 1. Но подключать можно к любому входному порту. Программное обеспечение модуля само автоматически определит порт подключенного датчика.

Где используются датчики касания

Датчики касания часто используются в промышленности. Там они называются концевые выключатели, микровыключатели. Они входят в системы, обеспечивающие безопасность человека при работе на автоматических линиях, различных станках. Как правило они стоят в схеме управления и служат для прерывания работы.

защитные ограждения

защитные ограждения промышленного оборудования

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

Для того, чтобы сделать программирование роботов EV3 более простым и интуитивно понятным в среде программирования EV3 используется палитра блоков. Это блоки программирования различного цвета.

Палитра блоков

палитра блоков редактора Lego EV3

Всего палитра блоков состоит из шести закладок разного цвета слева направо:

  1. Зеленая – «Действие»
  2. Оранжевая – «Управление операторами»
  3. Желтая – «Датчики»
  4. Красная – «Операции с данными»
  5. Синяя – «Дополнения»
  6. Зеленая – «Мои блоки»

Каждая из этих закладок содержит различные блоки программирования. Кратко опишу состав каждой закладки из палитры блоков.

Закладка «Действие»

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

Закладка Действие

программные блоки «Действие»

Перечислю названия блоков:

  • Блок – «Средний мотор»
  • Блок – «Большой мотор»
  • Блок – «Рулевое управление»
  • Блок – «Независимое управление моторам»
  • Блок – «Экран»
  • Блок – «Звук»
  • Блок – «Индикатор состояния модуля»

Закладка «Управление операторами»

В палитре блоков это закладка оранжевого цвета. При помощи блоков программирования из этой закладки можно реализовывать достаточно сложные программы управления роботом EV3. В ней содержатся сложные алгоритмические конструкции.

Закладка Управление операторами

вкладка «Управление операторами»

Всего в закладке «Операторы» пять блоков:

  • Блок – «Начало»
  • Блок – «Ожидание»
  • Блок – «Цикл»
  • Блок – «Переключатель»
  • Блок – «Прерывание цикла»

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

Закладка «Датчики»

Это закладка желтого цвета. Для создания обратной связи с робототехнической системой необходимо применять различного типа датчики. Ещё их называют сенсорами. Датчики Lego EV3 позволяют автономно управлять роботом EV3.

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

Всего в закладке «Датчики» одиннадцать блоков:

  • Блок – «Кнопки управления модулем»
  • Блок – «Датчик цвета»
  • Блок – «Гироскопический датчик»
  • Блок – «Инфракрасный датчик»
  • Блок – «Вращение мотора»
  • Блок – «Температурный датчик»
  • Блок – «Таймер»
  • Блок – «Датчик касания»
  • Блок – «Ультразвуковой датчик»
  • Блок – «Счетчик электроэнергии»
  • Блок – «Датчик звука NXT»

У всех блоков датчиков из палитры блоков Lego EV3 есть режимы измерения и сравнения. В некоторых блоках еще добавлен режим калибровки и сброса.

Палитра блоков. Закладка «Операции с данными»

Это закладка красного цвета. Здесь можно производить различные математические операции с константами, переменными, массивами. Без использования блоков операций с данными сложно принимать участие в различных конкурсах и соревнованиях.

Закладка Операции с данными

«Операции с данными»

Закладка «Операции с данными» состоит из десяти блоков программирования:

  • Блок – «Переменная»
  • Блок – «Константа»
  • Блок – «Операции над массивами»
  • Блок – «Логические операции»
  • Блок – «Математика»
  • Блок – «Округление»
  • Блок – «Сравнение»
  • Блок – «Интервал»
  • Блок – «Текст»
  • Блок – «Случайное значение»

В этой закладке палитры блоков широко используется булева алгебра, различные логические операции и операции с массивами.

Палитра блоков. Закладка «Дополнения»

Закладка синего цвета. Блоки программирования в закладке дополнений позволяют значительно расширить возможности робототехнических систем Lego EV3. С их помощью можно организовать совместную работу нескольких роботов. При помощи блока EV3 удаленно управлять другим Lego роботом и многое другое.

Блоки дополнения

блоки «Дополнения» ПО Лего EV3

Закладка «Дополнения» в палитре блоков состоит из десяти блоков программирования:

На начальном этапе изучения программирования роботов Lego EV3 эти блоки не понадобятся. Но с ростом знаний и усложнением решаемых задач без этих блоков будет тяжело обойтись.

Палитра блоков. Закладка «Мои блоки»

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

Закладка Мои блоки

вкладка «Мои блоки»

Каждую из закладок палитры блоков я разберу отдельно в статьях. Также приведу примеры использования блоков программирования.

Блоки программирования Лего EV3

Звезда активна
Звезда активна
Звезда активна
Звезда активна
Звезда активна

Введение:

Инфракрасный датчик входит домашнюю версию набора Lego mindstorms EV3. Это единственный датчик, который может применяться как самостоятельно, так и в паре с инфракрасным маяком, тоже являющимся частью домашнего набора. Следующие два урока мы посвятим изучению этих двух устройств, а также их взаимодействию между собой.

8.1. Изучаем инфракрасный датчик и инфракрасный маяк

Инфракрасный датчик (Рис. 1) в своей работе использует световые волны, невидимые человеку - инфракрасные волны*. Такие же волны используют, например, дистанционные пульты управления различной современной бытовой техникой (телевизорами, видео и музыкальными устройствами). Инфракрасный датчик в режиме "Приближение" самостоятельно посылает инфракрасные волны и, поймав отраженный сигнал, определяет наличие препятствия перед собой. Еще два режима работы инфракрасный датчик реализует в паре с инфракрасным маяком (Рис. 2). В режиме "Удаленный" инфракрасный датчик умеет определять нажатия кнопок инфракрасного маяка, что позволяет организовать дистанционное управление роботом. В режиме "Маяк" инфракрасный маяк посылает постоянные сигналы, по которым инфракрасный датчик может определять примерное направление и удаленность маяка, что позволяет запрограммировать робота таким образом, чтобы он всегда следовал в сторону инфракрасного маяка. Перед использованием инфракрасного маяка в него необходимо установить две батарейки AAA.

Инфракрасный датчик

Рис. 1

Инфракрасный маяк

Рис. 2

8.2. Инфракрасный датчик. Режим "Приближение"

Этот режим работы инфракрасного датчика похож на режим определения расстояния ультразвуковым датчиком. Разница кроется в природе световых волн: если звуковые волны отражаются от большинства материалов практически без затухания, то на отражение световых волн влияют не только материалы, но и цвет поверхности. Темные цвета в отличие от светлых сильнее поглощают световой поток, что влияет на работу инфракрасного датчика. Диапазон работы инфракрасного датчика также отличается от ультразвукового - датчик показывает значения в пределах от 0 (предмет находится очень близко) до 100 (предмет находится далеко или не обнаружен). Еще раз подчеркнем: инфракрасный датчик нельзя использовать для определения точного расстояния до объекта, так как на его показания в режиме "Приближение" оказывает влияние цвет поверхности исследуемого предмета. В свою очередь это свойство можно использовать для различия светлых и темных объектов, находящихся на равном расстоянии до робота. С задачей же определения препятствия перед собой инфракрасный датчик справляется вполне успешно.

Решим практическую задачу, похожую на Задачу №14 Урока №7, но, чтобы не повторяться, усложним условие дополнительными требованиями.

Задача №17: написать программу прямолинейно движущегося робота, останавливающегося перед стеной или препятствием, отъезжающего немного назад, поворачивающего на 90 градусов и продолжающего движение до следующего препятствия.

У робота, собранного по инструкции small-robot-31313, впереди по ходу движения установлен инфракрасный датчик. Соединим его кабелем с портом "3" модуля EV3 и приступим к созданию программы.

Рассмотрим программный блок "Ожидание" Оранжевой палитры, переключив его в Режим: "Инфракрасный датчик" - "Сравнение" - "Приближение" (Рис. 3). В этом режиме программный блок "Ожидание" имеет два входных параметра: "Тип сравнения" и "Пороговое значение". Настраивать эти параметры мы уже умеем.

Блок

Рис. 3

Решение:

  1. Начать прямолинейное движение вперед
  2. Ждать, пока пороговое значение инфракрасного датчика станет меньше 20
  3. Прекратить движение вперед
  4. Отъехать назад на 1 оборот двигателей
  5. Повернуть вправо на 90 градусов (воспользовавшись знаниями Урока №3, рассчитайте необходимый угол поворота моторов)
  6. Продолжить выполнение пунктов 1 - 5 в бесконечном цикле.

Попробуйте решить Задачу № 17 самостоятельно, не подглядывая в решение.

Решение Задачи №17

Рис. 4

А теперь для закрепления материала попробуйте адаптировать решение Задачи №15 Урока №7 к использованию инфракрасного датчика! Получилось? Поделитесь впечатлениями в комментарии к уроку.

8.3. Дистанционное управление роботом с помощью инфракрасного маяка

Инфракрасный маяк, входящий в домашнюю версию конструктора Lego mindstorms EV3, в паре с инфракрасным датчиком позволяет реализовать дистанционное управление роботом. Познакомимся с маяком поближе:

  1. Пользуясь инфракрасным маяком, направляйте передатчик сигнала (Рис. 5 поз. 1) в сторону робота. Между маяком и роботом должны отсутствовать любые препятствия! Благодаря широкому углу обзора инфракрасный датчик уверено принимает сигналы, даже если маяк располагается позади робота!
  2. На корпусе маяка расположены 5 серых кнопок (Рис. 5 поз. 2), нажатия которых распознает инфракрасный датчик, и передает коды нажатий в программу, управляющую роботом.
  3. С помощью специального красного переключателя (Рис. 5 поз. 3) можно выбрать один из четырех каналов для связи маяка и датчика. Сделано это для того, чтобы в непосредственной близости можно было управлять несколькими роботами.

Инфракрасный маяк

Рис. 5

Задача №18: написать программу дистанционного управления роботом с помощью инфракрасного маяка.

Мы уже знаем, что для реализации возможности выбора выполняющихся блоков необходимо воспользоваться программным блоком "Переключатель" Оранжевой палитры. Установим режим работы блока "Переключатель" в "Инфракрасный датчик" - "Измерение" - "Удалённый" (Рис. 6).

Блок

Рис. 6

Для активации связи между инфракрасным датчиком и маяком необходимо установить правильное значение параметра "Канал" (Рис. 7 поз. 1) в соответствии с выбранным каналом на маяке! Каждому программному контейнеру блока "Переключатель" необходимо сопоставить один из возможных вариантов нажатия серых клавиш (Рис. 7 поз. 2). Заметьте: некоторые варианты включают одновременное нажатие двух клавиш (нажатые клавиши помечены красным цветом). Всего в программном блоке "Переключатель" в этом режиме можно обрабатывать до 12 различающихся условий (одно из условий должно быть выбрано условием по умолчанию). Добавляются программные контейнеры в блок "Переключатель" нажатием на "+" (Рис. 7 поз.3).

Настройки блока

Рис. 7

Предлагаем реализовать следующий алгоритм управления роботом:

  • Нажатие верхней левой кнопки включает вращение левого мотора, робот поворачивает вправо (Рис. 7 поз. 2 значение: 1)
  • Нажатие верхней правой кнопки включает вращение правого мотора, робот поворачивает влево (Рис. 7 поз. 2 значение: 3)
  • Одновременное нажатие верхних левой и правой кнопок включает одновременное вращение вперед левого и правого мотора, робот двигается вперед прямолинейно (Рис. 7 поз. 2 значение: 5)
  • Одновременное нажатие нижних левой и правой кнопок включает одновременное вращение назад левого и правого мотора, робот двигается назад прямолинейно (Рис. 7 поз. 2 значение: 8)
  • Если не нажата ни одна кнопка маяка - робот останавливается (Рис. 7 поз. 2 значение: 0).

При разработке алгоритма дистанционного управления вы должны знать следующее: когда нажата одна из комбинаций серых кнопок - инфракрасный маяк непрерывно посылает соответствующий сигнал, если кнопки отпущены, то отправка сигнала прекращается. Исключение составляет отдельная горизонтальная серая кнопка (Рис. 7 поз 2 значение: 9). Эта кнопка имеет два состояния: "ВКЛ" - "ВЫКЛ". Во включенном состоянии маяк продолжает посылать сигнал, даже если вы отпустите кнопку (о чём сигнализирует загорающийся зеленый светодиод), чтобы выключить отправку сигнала в этом режиме - нажмите горизонтальную серую кнопку еще раз.

Приступим к реализации программы:

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

  1. Вариантом по умолчанию назначим вариант, когда не нажата ни одна кнопка (Рис. 7 поз. 2 значение: 0). Установим в контейнер программный блок "Независимое управление моторами", выключающий моторы "B" и "C".
  2. В контейнер варианта нажатия верхней левой кнопки (Рис. 7 поз. 2 значение: 1) установим программный блок "Большой мотор", включающий мотор "B".
  3. В контейнер варианта нажатия верхней правой кнопки (Рис. 7 поз. 2 значение: 3) установим программный блок "Большой мотор", включающий мотор "C".
  4. В контейнер варианта одновременного нажатия верхних левой и правой кнопок (Рис. 7 поз. 2 значение: 5) установим программный блок "Независимое управление моторами", включающий вращение моторов "B" и "C" вперед.
  5. В контейнер варианта одновременного нажатия нижних левой и правой кнопок (Рис. 7 поз. 2 значение: 8) установим программный блок "Независимое управление моторами", включающий вращение моторов "B" и "C" назад.
  6. Поместим наш настроенный программный блок "Переключатель" внутрь программного блока "Цикл".

По предложенной схеме попробуйте создать программу самостоятельно, не подглядывая в решение!

Решение Задачи №18

Рис. 8

Загрузите получившуюся программу в робота и запустите её на выполнение. Попробуйте управлять роботом с помощью инфракрасного маяка. Всё ли у вас получилось? Понятен ли вам принцип реализации дистанционного управления? Попробуйте реализовать дополнительные варианты управления. Напишите свои впечатления в комментарии к этому уроку.

* Хотите увидеть невидимые волны? Включите режим фотосъемки в мобильном телефоне и поднесите излучающий элемент дистанционного пульта от телевизора к объективу мобильного телефона. Нажимайте кнопки пульта дистанционного управления и на экране телефона наблюдайте свечение инфракрасных волн.

. Никак не могу сообразить - как сделать программу чтобы совместить в ней и работу кнопки и датчика? Помогите пожалуйста. Полагаю, нужно использовать блок "переключатель"


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

Внимание!
Возрастная категория посетителей сайта - (10+).
Все комментарии перед публикацией проходят модерацию.

Звезда активна
Звезда активна
Звезда активна
Звезда активна
Звезда не активна

Введение:

На этом уроке мы продолжаем знакомство с датчиками набора Lego mindstorms EV3. На очереди - датчик цвета, очень важный и полезный датчик! В большинстве конструкций он является, тем, чем у человека являются глаза. Поэтому изучению датчика цвета мы посвятим два последовательных урока, но в дальнейшем курсе еще вернемся к его изучению и использованию.

5.1. Изучаем второй датчик - датчик цвета

Датчик цвета может работать в трех различных режимах:

  • в режиме "Цвет" датчик может определить цвет поднесенного к нему предмета;
  • в режиме "Яркость отраженного света" датчик направляет световой луч на близкорасположенный предмет и по отраженному пучку определяет яркость предмета;
  • в режиме "Яркость внешнего освещения" датчик может определить - насколько ярко освещено пространство вокруг.

Датчик цвета

Рис. 1

5.2. Датчик цвета. Режим "Цвет"

В режиме "Цвет" датчик цвета достаточно точно умеет определять семь базовых цветов предметов, находящихся от него на расстоянии примерно в 1 см. Это следующие цвета: "черный"=1, "синий"=2, "зеленый"=3, "желтый"=4, "красный"=5, "белый"=6 и "коричневый"=7. Если предмет удален от датчика или некорректно определяется цвет предмета - датчик информирует об этом состоянием "Без цвета"=0.

Давайте, не затягивая, перейдем к практическому занятию!

Задача №9: необходимо написать программу, называющую цвета предметов, подносимых к датчику цвета.

Если вы собирали своего тренировочного робота по инструкции этого курса, то у вас датчик цвета уже размещен внутри робота и направлен вниз. Потребуется приложить некоторые усилия, может быть даже слегка разобрать-собрать нашу конструкцию, чтобы подключить кабелем датчик цвета, например к порту "2" модуля EV3. Для отладки программы нам также понадобится несколько цветных предметов: это могут быть кирпичики конструктора Lego, полоски цветной бумаги или цветные кубики. Для лучшего результата следует взять цвета, максимально приближенные к основным, но датчик довольно неплохо справляется с распознаванием подходящих оттенков. Чтобы не снимать датчик цвета и не крепить его в другом месте, во время выполнения программы можно держать робота перевернутым вверх колесами.

Датчик цвета, на роботе

Рис. 2

5.3. Оранжевая палитра, программный блок "Переключатель"

В решении Задачи №9 нам поможет программный блок "Переключатель" Оранжевой палитры. Этот блок в зависимости от настроек выбирает для выполнения программные блоки, расположенные в одном из своих контейнеров. Рассмотрим настройку этого блока в режиме работы с датчиком цвета.

Создадим новую программу "lesson-5-9", установим в программе блок "Переключатель", выберем режим "Датчик цвета" - "Измерение" - "Цвет" (Рис. 3). В отличие от программного блока "Ожидание", программный блок "Переключатель" не ждет, пока наступит определенное событие, а проверяет текущее состояние и выполняет программные блоки, находящиеся в контейнере, сопоставленном текущему состоянию.

Программный блок

Рис. 3

Рассмотрим подробнее настройки программного блока "Переключатель":

  • выбранный режим устанавливает изображение датчика цвета в блоке (Рис. 4 поз. 1),
  • порт, к которому подключен датчик, отображается в соответствующем поле блока (Рис. 4 поз. 2),
  • в настройках каждого программного контейнера выбирается значение, в соответствии с которым будут выполняться программные блоки, вложенные в этот контейнер (Рис. 4 поз. 3),
  • один из контейнеров должен быть объявленным "Вариантом по умолчанию" - в случае, если значению, полученному от датчика, не соответствует ни один контейнер, то выполняется контейнер, объявленный "Вариантом по умолчанию" (Рис.4 поз. 4),
  • Кнопка "+" добавляет программный контейнер в блоке "Переключатель" (Рис. 4 поз. 5),
  • Программный блок "Переключатель" может автоматически растягиваться, чтобы вместить все блоки, помещаемые внутрь. С помощью меток, помеченных красными стрелками, можно самому изменять размеры блока (Рис.4).

Настройки программного блока

Рис. 4

Продолжим формирование программного блока "Переключатель":

  • создадим необходимое количество контейнеров, соответствующее количеству цветов для распознавания + вариант "Без цвета",
  • в настройках контейнеров установим распознаваемые цвета,
  • вариантом по умолчанию выберем вариант "Без цвета",
  • в каждый контейнер кроме варианта "Без цвета" (этот контейнер останется пустым) поместим программный блок "Звук" зеленой палитры.
  • каждому цвету сопоставим соответствующий звуковой файл.

Формирование программного блока

Рис. 5

Наш программный блок "Переключатель" значительно увеличился в размерах. Специальная кнопка (Рис. 6 поз. 1) позволяет переключить режим отображения блока на экране на "Вид с вкладками". Изменим размеры блока для комфортного визуального отображения.

Блок

Рис. 6

Осталось вставить наш настроенный программный блок "Переключатель" внутрь программного блока "Цикл" Оранжевой палитры. Программа готова! Загрузим её в робота и протестируем работу! (Рис. 7)

Решение задачи 9 (нажмите для увеличения)

Рис. 7

5.4. Оранжевая палитра, программный блок "Прерывание цикла"

Добавим в нашу программу движение. Сделаем следующее поле для выполнения задания:

  • Возьмем белый лист бумаги формата A4 или A3;
  • Нанесем на него последовательно, на равном расстоянии несколько цветных полос. Полосы можно наклеить из цветной бумаги, цветной изоленты или нарисовать и закрасить;
  • можете также загрузить подготовленное изображение и распечатать его на цветном принтере;
  • Последнюю полосу сделаем черного цвета (Рис. 8).

Подготовленное поле для Задачи №10

Рис. 8

Задача №10: необходимо написать программу прямолинейного движения робота, называющего цвета полос, над которыми он проезжает. При достижении черной полосы робот проговаривает "Stop" и останавливается.

За основу решения данной задачи возьмем программу, решающую Задачу №9 . При решении Задачи №10 нам потребуется прервать выполнение цикла. Этой цели служит программный блок "Прерывание цикла" Оранжевой палитры. С помощью данного блока можно организовать выход из цикла, заданного параметром "Имя прерывания" (Рис. 9 поз. 1).

Читайте также: