Меню

Датчики цвета зачем нужны



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

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

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

Содержание

Датчик цвета

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

Описание

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

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

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

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

Подключение

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

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

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

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

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

Калибровка

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

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

Блок и генерируемая функция Описание

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

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

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

Источник

Датчик цвета TCS230

Товары

Модуль датчика TCS230 предназначен для определения цвета предмета.

Обзор датчика света

Модуль датчика TCS230 (рис. 1) предназначен для определения цвета предмета.

Микросхема TCS230 преобразует интенсивность цветового спектра в сигнал различной частоты (рис. 2). Интенсивность цветового спектра обратно пропорциональна частоте выходного сигнала.

Микросхема TCS230 для определения цвета измеряет три спектра: красный, синий, зелёный. Микросхема состоит из 64 (4*16) фотодиодов, определяющих выбор фильтра: синий, зеленый, красный или без фильтра.

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

Технические характеристики

  • Питания: 2,7 – 5,5 В;
  • Масштабирование выходной частоты (2%, 20%, 100%);
  • Возможность выбора цветового фильтра;
  • Погрешность выходной частоты: не более 0,2%.

Подключение к Arduino

Рассмотрим подключение датчика TCS230 к плате Arduino. Для масштабирование частоты импульсов на выходе OUT на контактах S0, S1 необходимо установить сигналы согласно рис.3.

Выбор фильтра осуществляется (зеленый, красный, синий, без фильтра) установкой сигналов на контактах S2, S3 по таблице (рис. 4):

Схема подключения датчика к плате Arduino:

И скетч для определения значений частоты для фильтров R, G, B (листинг 1).

Загружаем скетч на плату Arduino и смотрим данные в мониторе последовательного порта (рис. 6).

Теперь необходимо получить минимальные и максимальные значения для тестовых цветов (красного, синего и зеленого). Для этого фиксируем значения R, G и B на минимальном расстоянии и в удалении. Записываем эти значения, которые будем использовать далее.

Точность зависит от соответствия ваших экземпляров цветов красного, синего и зеленого к эталонам для этих цветов.

Пример использования

Создадим проект использования платы Arduino – определитель и индикатор цвета. Будем использовать следующие комплектующие:

  • Плата Arduino – 1 шт;
  • Плата прототипирования – 1 шт;
  • Датчик TCS230 – 1 шт;
  • RGB-светодиод – 1 шт;
  • Резистор 220 Ом – 3 шт;
  • Провода.

Схема соединений нашего проекта показана на рис. 7.

И скетч для определения компонентов цвета R, G, B для измеряемого объекта (листинг 2). Данные, полученные с датчика TCS230 (значения полученные при применении фильтров для R, G и B) будем использовать для установки цвета RGB-светодиода.

Рисунок 8. Схема в сборе

Часто задаваемые вопросы

Вопрос: Датчик неправильно определяет цвет.

Источник

Урок № 5 — Продолжаем изучать датчик цвета

Введение:

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

6.1. Датчик цвета – режим «Яркость отраженного света»

Итак, мы приступаем к изучению следующего режима работы датчика цвета, который называется«Яркость отраженного света». В этом режиме датчик цвета направляет поток красного света на близкорасположенный предмет или поверхность и измеряет количество отраженного света. Более темные предметы будут поглощать световой поток, поэтому датчик будет показывать меньшее значение, по сравнению с более светлыми поверхностями. Диапазон значений датчика измеряется от (очень темный) до 100 (очень яркий). Данный режим работы датчика цвета используется во множестве задач по робототехнике, например, для организации движения робота по заданному маршруту вдоль черной линии, нанесенной на белое покрытие. При использовании этого режима рекомендуется располагать датчик таким образом, чтобы расстояние от него до исследуемой поверхности составляло примерно 1 см (Рис. 1).

Рис. 1

Перейдем к практическим занятиям: датчик цвета уже установлен на нашем роботе и направлен вниз к поверхности покрытия, по которому будет передвигаться наш робот. Расстояние между датчиком и полом соответствует рекомендуемому. Датчик цвета уже подключен к порту «2» модуля EV3. Давайте загрузим среду программирования, подключим робота к среде и для проведения замеров воспользуемся полем с цветными полосами, изготовленным нами для выполнения заданий Раздела 5.4 Урока №5. Установим робота, таким образом, чтобы датчик цвета расположился над белой поверхностью. «Страницу аппаратных средств» среды программирования переключим в режим «Просмотр портов» (Рис. 2 поз. 1). В этом режиме мы можем наблюдать все выполненные нами подключения. На Рис. 2 отображено подключение к портам «B» и «C» двух больших моторов, а к порту «2» — датчика цвета.

Рис. 2

Для выбора варианта отображения показаний датчиков необходимо нажать на изображение датчика и выбрать нужный режим (Рис. 3)

Рис. 3

На Рис. 2 поз. 2 мы видим, что значение показания датчика цвета над белой поверхностью равно 84. В вашем случае может получиться другое значение, ведь оно зависит от материала поверхности и освещения внутри помещения: часть освещения, отражаясь от поверхности, попадает на датчик и влияет на его показания. Установив робота таким образом, чтобы датчик цвета расположился над черной полосой, зафиксируем его показания (Рис. 4). Попробуйте измерить самостоятельно значения отраженного света над оставшимися цветными полосами. Какие значения у вас получились? Напишите ответ в комментарии к этому уроку.

Рис. 4

Давайте теперь порешаем практические задачи.

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

Решение:

Проведенный эксперимент показал нам, что при пересечении черной линии, значение датчика цвета в режиме «Яркость отраженного света» равняется 6. Значит, для выполнения Задачи №11 наш робот должен двигаться прямолинейно, пока искомое значение датчика цвета не станет меньше 7. Воспользуемся уже знакомым нам программным блоком «Ожидание» Оранжевой палитры. Выберем требуемый условию задачи режим работы программного блока «Ожидание» (Рис. 5).

Рис. 5

Необходимо также настроить параметры программного блока «Ожидание». Параметр «Тип сравнения» (Рис. 6 поз. 1) может принимать следующие значения: «Равно»=0, «Не равно»=1, «Больше»=2, «Больше или равно»=3, «Меньше»=4, «Меньше или равно»=5. В нашем случае установим «Тип сравнения» в значение «Меньше». Параметр «Пороговое значение» установим равным 7 (Рис.6 поз. 2).

Рис. 6

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

Рис. 7

Для продолжения занятий нам понадобится изготовить новое поле, представляющее собой чернуюокружность диаметром примерно 1 метр, нанесенную на белое поле. Толщина линии окружности равняется 2 — 2,5 см. Для основы поля можно взять один лист бумаги размером A0 (841×1189 мм), склеить вместе два листа бумаги размером A1 (594×841 мм). На этом поле разметить линию окружности и закрасить её черной тушью. Можете также скачать макет поля, выполненный в формате Adobe Illustrator, а затем заказать его печать на баннерной ткани в типографии. Размер макета равен 1250×1250 мм. (Просмотреть скачанный ниже макет можно, открыв его в программе Adobe Acrobat Reader)

Данное поле пригодится нам для решения нескольких классических задач курса робототехники.

Задача №12: необходимо написать программу для робота, передвигающегося внутри круга, окантованного черной окружностью по следующему правилу:

  • робот движется вперед прямолинейно;
  • достигнув черной линии, робот останавливается;
  • робот отъезжает назад на два оборота моторов;
  • робот поворачивает вправо на 90 градусов;
  • движение робота повторяется.

Знания, полученные на предыдущих уроках, помогут вам самостоятельно создать программу, решающую Задачу №12

Решение задачи №12

К работе датчика цвета в режиме «Яркость отраженного света» мы еще неоднократно вернемся, когда будем рассматривать алгоритмы движения вдоль черной линии. А пока разберем третий режим работы датчика цвета.

6.2. Датчик цвета – режим «Яркость внешнего освещения»

Режим работы датчика цвета «Яркость внешнего освещения» очень похож на режим «Яркость отраженного света», только в этом случае датчик не излучает освещение, а измеряет естественное световое освещение окружающей среды. Визуально данный режим работы датчика можно определить по слабо светящемуся синему светодиоду. Показания датчика изменяются от (отсутствие света) до 100(самый яркий свет). При решении практических задач, требующих измерения внешнего освещения, рекомендуется располагать датчик, так, чтобы датчик оставался максимально открытым и не загораживался другими деталями и конструкциями.

Давайте закрепим датчик цвета на нашем роботе так же, как мы крепили датчик касания в Уроке №4 (Рис. 9). Подключим датчик цвета кабелем к порту «2» модуля EV3. Перейдем к решению практических задач.

Рис. 9

Задача №13: необходимо написать программу, изменяющую скорость движения нашего робота в зависимости от интенсивности внешнего освещения.

Чтобы решить эту задачу, нам надо узнать, как получать текущее значение датчика. А поможет нам в этом Желтая палитра программных блоков, которая называется «Датчики».

6.3. Желтая палитра — «Датчики»

Желтая палитра среды программирования Lego mindstorms EV3 содержит программные блоки, позволяющие получать текущие показания датчиков для дальнейшей обработки в программе. В отличие, например, от программного блока «Ожидание» Оранжевой палитры, программные блоки Желтой палитры сразу же передают управление к следующим за ними программным блокам.

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

Желтая палитра. Домашняя версия среды программирования.

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

Желтая палитра. Образовательная версия среды программирования.

Вернемся же к решению Задачи №13 и посмотрим, как можно получать и обрабатывать показания датчика цвета. Как мы уже знаем: диапазон значений датчика цвета в режиме «Яркость внешнего освещения» находится в пределах от до 100. Такой же диапазон у параметра, регулирующего мощность моторов. Попробуем показанием датчика цвета регулировать мощность моторов в программном блоке «Рулевое управление».

Решение:

  1. Считать текущее показание датчика цвета в режиме «Яркость внешнего освещения»;
  2. Подать полученное с датчика цвета значение на вход параметра «Мощность» программного блока«Рулевое управление»;
  3. Повторять команды 1 — 2 в бесконечном цикле.

Рис. 10

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

Источник

Читайте также:  Как узнать код цвета поло седан