Меню

Для чего нужны датчики цвета



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

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

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

Содержание

Датчик цвета

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

Описание

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

Принцип работы: Датчик цвета имеет два основных компонента -трехцветный (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) — порт, к которому подключен немаркированный провод датчика освещенности.

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

Источник

2 Схемы

Принципиальные электросхемы, подключение устройств и распиновка разъёмов

Датчик цвета

Датчик TCS3200 предназначен для распознавания цвета поверхности. Датчик приобретен как и многие другие модули для Ардуино — на Алиэкспрессе (за 4 доллара). Устройство поставляется в антистатическом пакете.

Габаритные размеры модуля 37 х 30 10 мм, в плате имеется четыре крепежных отверстия, диаметром 3 мм, масса устройства составляет 4.1 г.

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

На плате модуля хорошо видны четыре белых светодиода подсветки, между которыми размещен детектор, который представляет собой матрицу из 64 фотодиодов, 16 из которых имеют красный светофильтр, 16 – зеленый, 16 синий и оставшиеся 16 не имеют светофильтра. Рассмотреть матрицу фотодиодов можно в достаточно сильную лупу. В данном устройстве осуществляется преобразование информации от фотодиодов в импульсы с частотой, которая пропорциональна яркости падающего на фотодиоды света. Считывая данные с разных групп светодиодов можно, получить представление о том каков цвет световых лучей, падающих на матрицу фотодиодов.

Подключение датчика TCS3200

Всего модуль имеет восемь выводов.

  • VСС – питание 5В,
  • GND – общий провод,
  • OUT – информационный выход,
  • LED – вывод управления светодиодами подсветки,
  • S0 и S1 масштабирование частоты выходного сигнала,
  • S2 и S3 – выбор группы светодиодов [1-5].

При напряжении питания 5В модуль потребляет 21 мА при включенной подсветке и 2 мА при отключенной. Отключение светодиодной подсветки производится подачей низкого логического уровня на вывод LED.

Следует иметь в виду, что при оборванной линии питания светодиоды не гаснут.

Частота сигнала на выходе OUT может достигать 500 кГц [5-6], выводы S0 и S1 задают коэффициент деления частоты, если на оба эти вывода пода низкий логический уровень, то устройство отключается.

S0 S1
Отключение
1 2%
1 20%
1 1 100%

Выводы S2 и S3 служат для выбора задействованной группы фотодиодов [1,6]

S2 S3
Красный
1 Синий
1 Белый
1 1 Зеленый

Рассматриваемое устройство требует достаточно серьезного кода для обработки поступающей с него информации. Как понимает, автор матрица фотодиодов в данной конфигурации чипа очень сильно засвечивается светодиодами подсветки [6], а также чувствительный к инфракрасному излучению [7]. Бленда для защиты фотодиодов от прямой засветки светодиодами совершенно необходима, так же, как понимает автор, крайне желателен ИК-фильтр [7]. В качестве бленды автор применил пластмассовую трубку, длинной 12 и внешним диаметром 8 мм, которая обмотана несколькими слоями изоленты, между которыми проложена пищевая фольга. ИК-фильтра у автора нет.

Для калибровки датчика была использована программа TCS3200_1 [1]. В процессе калибровки требуется взять однотонную красную, синюю и зеленую поверхности. Автор использовал обложки папок, соответствующих цветов.

В процессе калибровки датчика надо поднести цветную поверхность с расстояния 15-10 см вплотную к датчику. При этом надо зафиксировать, как будет меняться диапазон значений для соответствующего канала, возвращаемый программой TCS3200_1.

Испытания датчика цветов

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

Затем из полученных значений для каждого из каналов надо выбрать максимальные и минимальные значения диапазона, которые следует подставить в программу TCS3200_2 [1]. Именно эта программа будет производить распознавание цветов. Значения диапазона нужно подставлять на место второго и третьего параметров функции map [8-9], для красного цвета 52 строка кода, для зеленого – 69, для синего – 86. Как понимает автор, конкретные значения диапазона сильно зависят от условий освещенности, характера поверхности, поэтому калибровать датчик надо в условиях максимально приближенных к тем в которых он будет использоваться. После описанных выше манипуляций датчик, должен быть готов к работе. Результат, возвращаемый программой TCS3200_2

для красной папки

Зеленая папка

Синяя папка

Черная матовая поверхность (бокс CD-диска)

Как хорошо видно, по результатам измерения, красную поверхность датчик, более или менее идентифицирует, а вот отличить зеленую поверхность от синей устройство практически не в состоянии. При низкой интенсивности внешнего сигнала датчик склонен определять синий цвет на любой поверхности. Такое поведение устройства можно объяснить тем, что не был использован инфракрасный фильтр. Дело в том, что к ближнему ИК-излучению чувствительны все фотодиоды [7], а вот человеческий глаз его не видит, таким образом, способность поверхности поглощать и отражать ИК-излучение с длиной волны около 850 нм должно очень серьезно влиять на результаты измерения. В текущем виде датчик подходит, для того чтобы отличать красную поверхность от поверхности иного цвета. При этом оттенки красного в целом опознаются как красный цвет.

Красный картон опознается хорошо

А вот красная клеенка уже хуже

Вне конкуренции оказалась эта красная папка.

Оранжевую бумагу датчик тоже опознал как поверхность красного цвета.

В заключении следует отметить, что наличие бленды на фотодиодной матрице совершенно обязательно. Для иллюстрации можно посмотреть, что показывает программа TCS3200_2 на красном картоне с рис. 18 без бленды. Хорошо видно, что датчик полностью засвечен белым светом.

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

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

Источник

Датчик цвета 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. Схема в сборе

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

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

Источник

Читайте также:  У младенца стул со слизью зеленого цвета комаровский