Датчик цвета

Материал из MIK32 микроконтроллер
Датчик цвета TCS230.png

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

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

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

Как работает датчик цвета

Датчик TCS230, расположенный в центре платы, состоит из фотодиодов четырёх типов: 16 фотодиодов с красным фильтром, 16 фотодиодов с синим фильтром, 16 фотодиодов с зеленым фильтром и 16 фотодиодов без светофильтра . К датчику подносят образец одного из трёх цветов — красного, зелёного или синего. Образец освещается светодиодами на плате вокруг датчика. Датчик имеет преобразователь тока в частоту, он преобразует показания фотодиодов в квадратную волну с частотой, пропорциональной интенсивности света выбранного цвета. Эта частота затем считывается Arduino.

Распиновка на плате с датчиком TCS230 имеет следующее значение:

  • GND – земля;
  • OE – контакт включения;
  • S1, S0 – настройка масштабирования частоты импульсов.
  • S3, S2 – входной сигнал настройки фильтра;
  • OUT – выходная частота;
  • VCC – напряжение питания.

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

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

Масштабирование частоты S0 S1
Отключение LOW LOW
2% LOW HIGH
20% HIGH LOW
100% HIGH HIGH

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

Тип фотодиода S2 S3
Красный LOW LOW
Синий LOW HIGH
Зеленый HIGH HIGH
Без фильтра HIGH LOW

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

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

Программа:

Программа часть 1.pngПрограмма часть 2.png

Что делать если датчик неправильно определяет цвет ?

  • Проверьте правильность подключения датчика к плате Arduino.
  • Проведите калибровку датчика на цветах R, G, B, близких к эталонным.