Обзор датчик цвета на TCS3472

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

Технические параметры:

► Напряжение питания модуля: 3.3 — 5В;
► Потребляемый ток: 235 мкА (сред.), 330 мкА (макс.);
► Время преобразований: от 2.4 мс до 700 мс (настраиваемое);
► Скорость интерфейса I2C: до 400 кбит/с;
► Адрес датчика на шине I2C: 0x29;
► Габариты: 31 x 11 x 4 мм;
► Вес: 3 грамм;

Обзор модуля TCS3472

Модуль основан на микросхеме TCS3472 производства AMS (ранее Taos). Так-же, на плате установлено два белых светодиода, стабилизатор напряжения, транзисторы и резисторы. Для связи с микроконтроллером, используется стандартный интерфейс I2C с фиксируемым адресом 0x29. Mosfet транзисторы используются для сдвига уровней интерфейса I2C, тем самым можно подключить как микроконтроллеру 3.3 В так и 5 В. Существуют несколько видов плат с датчиком TCS3472, в которых установлено один, два и более светодиодов, но по функционалу они одинаковые.

Принцип работы датчика TCS3472 простое, на измеряемый объект направляем белый свет (с помощью светодиодов), свет отражается от объекта и производится измерения количества красного, зеленого, синего и белого света.
Измерения производятся с помощью матрицы фотодиодов 3 х 4, которая состоит из красного, зеленого, синего и прозрачного фотодиода. Вся матрица закрыты ИК-фильтром, которая минимизирует влияние ИК-излучения на показания.
Далее, показания с выводов фотодиодов преобразуются в 16-битное цифровое значения с помощью четырех интегрирующих АЦП. Затем, эти данные доступны для микроконтроллера, через шину I2C.

Дополнительные настройки датчик TCS3472:
► Коэффициент усиления, можно установить 1x, 4x, 16x или 60x. Более высокие можно использовать в плохо освещенном месте, но увеличивается уровень шума.
► Время преобразований — это промежуток времени, используемый для считывания показания. Время может быть установлено равным 2,4 мс, 24 мс, 50 мс, 101 мс, 154 мс или 700 мс.

Назначение контактов:
LED — вход управления LED, всегда включен, чтобы выключить необходимо установить в низкое состояние.
INT — выход прерывания, активный низкий уровень. Выход является открытым коллектором, поэтому требуется подтягивающий резистор. 
SDA — линия SDA I2C.
SCL  — линия SCL I2C. 
3V3 — вывод питания 3,3 В.
GND — заземление вывод.
VCC — питание модуля 3,3 В или 5 В

Подключение модуля TCS3472 к Arduino

Необходимые детали:
► Arduino UNO x 1 шт.
► Датчик цвета на TCS34725 x 1 шт.
► Провода DuPont M-F, 20 см x 1 шт.

Описание:
В примере покажу как подключить датчик цвета на TCS34725 к Arduino, полученные данные будем отправлять в последовательный порт.

Подключение.
Сначала подключить питание, выводы +5 В и GND (Arduino) подключаем к выводам VIN и GND (TCS34725), далее подключаем интерфейс I2C, выводы A4 и A5 (Arduino) подключаем к выводам SDA и SCL (TCS34725). Для удобства приведу схему подключения.

Установка библиотек:
Для работы с модулем необходимо установить библиотеку «Adafruit TCS34725», для установки перейдите в Скетч —> Подключить библиотеку —> Управление библиотеками.

В строке поиска введите «TCS34725», найдите библиотеку « Adafruit TCS34725» и установите ее.

Программа:
Теперь запускаем среду разработку Arduino IDE и загружаем скетч в контроллер.

Скачать скетч

Загрузите скетч и откройте «Последовательный монитор» из Arduino IDE. 

Описание скетча:
Скетч начинается с включения библиотек Wire.h и Adafruit_TCS34725

Далее, создаем объект и передаем данные о коэффициенте усиления TCS34725_GAIN_1X (1x, 4x, 16x или 60x) и времени преобразования TCS34725_INTEGRATIONTIME_700MS (2,4 мс, 24 мс, 50 мс, 101 мс, 154 мс или 700 мс)

В void setup(), инициализируем работу последовательного порта. Так же, инициализируем датчик TCS34725 с проверкой, если проверка не прошла то зацикливаем программу.

В void loop(), создаем переменные r, g, b, c, colorTemp, lux; и считываем показания красного, зеленого, синего и белых цветов (tcs.getRawData). Далее на основании этих показаний делаем расчет цветовой температуры и освещенности.

Далее, передаем все полученные показания в последовательный порт.

Ссылки
  Библиотека Adafruit TCS34725 v.1.3.5
  Документация на TCS34725

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Комплект проводов DuPont, 2,54 мм, 20 см
  Датчик цвета на TCS34725

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Датчик цвета на TCS34725

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *