Как настроить датчик цвета

Роботрек вики

Инструменты пользователя

Инструменты сайта

Содержание

Датчик цвета

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ

Описание

Датчик цвета позволяет определять цвет поверхности. По сути это два устройства в одном — трехцветный светодиод и датчик освещенности, которые можно использовать по отдельности.

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

Белый свет состоит из всех цветов радуги. Когда свет падает на поверхность, некоторые цвета поглощаются, а некоторые отражаются. Отраженные цвета – это цвета воспринимаемого нами объекта. Для измерения и определения количества цвета с помощью электронной схемы, вам необходимо измерить интенсивность различных длин волн света, отраженного от поверхности. Самый простой способ сделать это – осветить поверхность разными цветами и измерить, какой из цветов поверхность отражает лучше. Измеряя отраженный свет для каждого цвета можно вычислить цвет объекта.

Для улучшения результатов измерений следуйте следующим советам:

Подключение

Датчик использует два стандартных 3-пиновых разъема, однако, подключается не совсем обычно:

Коннектор 1 (без цветового обозначения) подключается в любой из портов IN контроллера «Трекдуино», сигнальный провод этой шины подключен к фоторезистору, поэтому, подключив только эту шину, вы сможете использовать датчик как датчик освещенности.

Коннектор 2 (с цветовой маркировкой) служит для управления трехцветным светодиодом. Каждый из проводов подключен напрямую соответствующему каналу светодиода. Наклейка с цветовой маркировкой на коннекторе указывает, к какому из каналов соответствует каждый из проводов. Подключается в любые три порта OUT и в любые порты IN контроллера «Трекдуино». Подключается горизонтально в верхнюю (сигнальную, «S») линию контактов.. Для того, чтобы использовать только RGB-светодиод, коннектор №1 все равно придется подключить, т.к. земляной провод (GND) общий для светодиода и фоторезистора.

Программирование

Блоки, необходимые для работы с датчиком цвета, расположены в группе блоков «Датчики».

Калибровка

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

Для удобной работы с датчиком, сделайте 2 карточки 5х8 см. черного и белого цвета.

Читайте также:  Как настроить голосовое siri
Блок и генерируемая функция Описание

Выполняется привязка датчика к конкретным портам и процедура калибровки.

Аргументы:
Красный светодиод (int Rpin) — порт, к которому подключен красный канал RGB-светодиода
Синий светодиод (int Bpin) — порт, к которому подключен синий канал RGB-светодиода
Зеленый светодиод (int Gpin) — порт, к которому подключен зеленый канал RGB-светодиода
датчик (int Spin) — порт, к которому подключен немаркированный провод датчика освещенности.

Выполняет сканирование поверхности и возвращает условный номер определенного цвета:

Источник

Как настроить датчик цвета

Введение:

На этом уроке мы продолжаем знакомство с датчиками набора 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)

Рис. 7

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

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

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

Рис. 8

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

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

Рис. 9

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

  1. Внутрь цикла перед программным блоком «Переключатель» добавим программный блок «Рулевое управление», тем самым заставим нашего робота двигаться (Рис. 10 поз. 1). Во время движения робот будет проверять текущее состояние датчика цвета и произносить название цвета. Если полоски будут широкими, а робот будет двигаться медленно, то, возможно, он станет произносить название цвета более одного раза, так как проверка цвета будет происходить неоднократно. Если такое положение дел вас не устроит — увеличьте скорость робота, чтобы он быстрее проезжал цветные полосы.
  2. В соответствии с условием задачи нам надо изменить поведение контейнера программного блока «Переключатель» для черного цвета.
  3. В программном блоке «Звук» изменим звуковой файл «Black» на «Stop» (Рис. 10 поз. 2).
  4. Добавим в контейнер программный блок, выключающий моторы (Рис. 10 поз. 3).
  5. Нам требуется прервать выполнение программного блока «Цикл», чтобы завершить выполнение программы. Для этого поместим в контейнер программный блок «Превывание цикла» Оранжевой палитры (Рис. 10 поз. 4). У данного программного блока существует только одна настройка — название прерываемого цикла. В сложной программе со множеством циклов важно правильно устанавливать эту настройку, чтобы остановить выполнение нужного цикла (Рис. 10 поз. 5). В нашей программе за программным блоком «Цикл» отсутствуют другие программные блоки, поэтому программа завершится.

Источник

Читайте также:  Как настроить металлоискатель gtx 5030
Поделиться с друзьями
Инструкции360