Датчик цвета (Troyka-модуль)

Используйте датчик цвета для определения оттенков объекта в зоне видимости.

Примеры работы для Arduino

Рассмотрим подключение и примеры работы с платформами Arduino.

Схема устройства

Подключите сенсор к Arduino к пинам шины I²C — SDA/SCL и сигнальному пину 6 для управления подсветкой.

Для быстрой сборки используйте Troyka Shield.

С Troyka Slot Shield провода не понадобятся вовсе.

Вывод данных

printColorData.ino
// библиотека для работы с датчиком цвета
#include "TroykaColorSensor.h"
 
// создаём объект для работы с датчиком
TroykaColorSensor colorSensor;
 
// пин подсветки светодиода
#define BACKLIGHT_PIN   6
 
void setup() {
 // инициализируем датчик
 colorSensor.begin();
 // открываем Serial-порт
 Serial.begin(115200);
 
}
void loop() {
 // выставляем уровень подсветки
 analogWrite(BACKLIGHT_PIN, 100);
 // считываеv данные в объект RGB
 RGB color = colorSensor.colorRead();
 // выводим показания освещённости каждого цвета
 Serial.print(color.red);
 Serial.print('\t');
 Serial.print(color.green);
 Serial.print('\t');
 Serial.println(color.blue);
 delay(100);
}

Определение цвета

detectColor.ino
// библиотека для работы с датчиком цвета
#include "TroykaColorSensor.h"
 
// создаём объект для работы с датчиком
TroykaColorSensor colorSensor;
 
// пин подсветки светодиода
#define BACKLIGHT_PIN   6
 
void setup() {
 // инициализируем датчик
 colorSensor.begin();
 // открываем Serial-порт
 Serial.begin(115200);
}
 
void loop() {
 // выставляем уровень подсветки
 analogWrite(BACKLIGHT_PIN, 100);
 // считываем данные в объект RGB
 RGB color = colorSensor.colorRead();
 // выводим цвет с максимальной интенсивностью
 printColor(color);
 delay(100);
}
 
// функция поиска и вывода цвета с максимальной интенсивностью
void printColor(RGB c) {
 if ((c.red > c.green) && (c.red > c.blue))
 Serial.println("RED");
 if ((c.green > c.red) && (c.green > c.blue))
 Serial.println("GREEN");
 if ((c.blue > c.green) && (c.blue > c.red))
 Serial.println("BLUE");
}

Примеры работы для Espruino

Рассмотрим подключение и примеры работы с платой Iskra JS.

Схема устройства

Подключите сенсор к Iskra JS к пинам шины I²C — SDA/SCL и сигнальному пину 6 для управления подсветкой.

Для быстрой сборки используйте Troyka Shield.

С Troyka Slot Shield провода не понадобятся вовсе.

Вывод данных

printColorData.js
// настраиваем шину I²C
PrimaryI2C.setup({sda: SDA, scl: SCL, bitrate: 100000});
// подключаем библиотеку для работы с графическим дисплеем
var colorSensor = require("TCS3472x").connect(PrimaryI2C, 1, 1);
// пин подсветки светодиода
var pinBacklight = P6;
// яркость светодиода
var brightness = 0.5;
// выставляем яркость светодиода
analogWrite(pinBacklight, brightness);
 
// каждую секунду выводим данные с датчика цвета
setInterval(function() {
  var dataColor = colorSensor.getValue();
  print(dataColor);
}, 100);

Элементы платы

Сенсор TCS34725

Датчик выполнен на микросхеме AMS TCS34725, которая содержит 12 светочувствительных элементов. Часть из них оснащена цветными фильтрами для измерения красной, зелёной и синей составляющей, а остальные определяют общий уровень освещённости. Каждая группа фотоэлементов подключена к своему АЦП, который выдаёт 16-битный сигнал, пропорциональный интенсивности падающего света. Готовые результаты измерений передаются по интерфейсу I²C.

LED-подсветка

За включение и отключение LED-подсветки отвечает сигнальный пин L. А если контакт управляющей платы поддерживает ШИМ, то можно управлять яркостью светодиода.

Регулировка подсветки

Понижающий регулятор напряжения

Преобразователь логических уровней

Troyka-контакты

На дисплейном модуле выведено две пары Troyka-контактов.

Нижняя группа

  • Сигнальный (A) — пин управления подсветкой экрана. Подключите к аналоговому/цифровому пину микроконтроллера.
  • Питание (V) — соедините с рабочим напряжением микроконтроллера.
  • Земля (G) — соедините с землёй микроконтроллера.

Верхняя группа

  • Сигнальный (D) — пин данных шины I²C. Подключите к SDA пину микроконтроллера.
  • Сигнальный (C) — пин тактирования шины I²C. Подключите к SCL пину микроконтроллера.

Принципиальная и монтажная схемы

Характеристики

  • Сенсор: TCS34725
  • Детектируемые цвета: RGB, общая освещённость
  • Интерфейс: I²C
  • Адрес модуля: 0x29
  • Подсветка: белый светодиод (LED)
  • Напряжение питания: 3,3–5 В
  • Потребляемый ток: <300 мкА
  • Габариты: 25,4×25,4 мм

Ресурсы