Датчик цвета с ИК-фильтром, TCS34725 для Arduino
Датчик цвета с ИК-фильтром TCS34725 —датчик позволит вашей электронике в буквальном смысле различать цвета окружающих предметов, а не только светлые и темные оттенки. Вам будут доступны значения таких параметров как: цветовая температура (по Кельвину), освещенность (в люксах), а также непосредственные значения красной, зеленой и синей составляющей.
Общие сведения
Датчик цвета с ИК-фильтром TCS34725 — датчик позволит вашейэлектронике в буквальном смысле различатьцвета окружающих предметов, а не толькосветлые и темные оттенки. Вам будутдоступны значения таких параметров как: цветовая температура (по Кельвину),освещенность (в люксах), а такженепосредственные значения красной,зеленой и синей составляющей.
ИК-фильтрпозволяет добиться более точнойцветопередачи, блокируя невидимуючеловеческому глазу инфракрасную частьспектра.
Характеристики
- Напряжение питания модуля: 3.3 - 5В;
- Потребляемый ток: 235 мкА (сред.), 330 мкА (макс.);
- Время преобразований: от 2.4 мс до 700 мс (настраиваемое);
- Скорость интерфейса I2C: до 400 кбит/с;
- Адрес датчика на шине I2C: 0x29 (41);
- Рабочая температура: -40 … +85 ºС;
- Габариты: 20x20 мм;
- Вес: 3.23 г;
Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Модуль подключается к Arduinoчерез интерфейс I2C (выводыSDA и SCL). Питаниеподается на выводы GND иVIN (от 3.3 до 5В). Вывод LEDслужит для управления светодиодом.Можно либо не использовать его вовсе(подключить к земле), либо контролироватьчерез цифровой вывод Arduino,либо подключить к выводу INTи контролировать с помощьюсоответствующих функций из библиотеки.
Подробнее о модуле
Данный модуль построен на базе чипа TCS34725 и общается с Arduino по двухпроводному интерфейсу I2C. На плате дополнительно размещены: светодиод с нейтральным белым светом, стабилизатор напряжения в цепи питания и преобразователь уровней I2C 3.3/5В.
Для работы с модулем рекомендуем вам воспользоваться библиотекой Adafruit_TCS34725.
Примеры
Вывод полученного цвета на RGB-светодиод
// Подключаем библиотеки // #include// Для работы с шиной I2C#include "Adafruit_TCS34725.h" // Для работы с датчиком TCS34725 // // Выводы для ШИМ - сигнала#define redpin 3 // Дополнительно подключаем резистор номиналом в ~560 Ом для красного цвета#define greenpin 5 // Дополнительно подключаем резистор номиналом в ~1000 Ом для зеленого цвета#define bluepin 6 // Дополнительно подключаем резистор номиналом в ~560 Ом для синего цвета // Для RGB светодиода с общим анодом, подключаем общий вывод к +5В // Для RGB светодиода с общим катодом, подключаем общий вывод к земле //#define commonAnode true // Для RGB светодиода с общим катодом изменить на false //byte gammatable[256]; // Гамма-таблица визуально различимых глазом цветов Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X); // Определяем объект tcs, экземпляр класса Adafruit_TCS34725 // Устанавливаем время выборки и чувствительность сенсора // Время выборки может быть одним из значений: TCS34725_INTEGRATIONTIME_2_4MS, // TCS34725_INTEGRATIONTIME_24MS, TCS34725_INTEGRATIONTIME_50MS, // TCS34725_INTEGRATIONTIME_101MS, TCS34725_INTEGRATIONTIME_154MS, // TCS34725_INTEGRATIONTIME_700MS // Чувствительность сенсора может быть одним из значений: TCS34725_GAIN_1X, // TCS34725_GAIN_4X, TCS34725_GAIN_16X, TCS34725_GAIN_60Xvoid setup() { Serial.begin(9600); // Инициируем передачу данных в монитор последовательного порта на скорости 9600 бит/сек Serial.println("Color View Test!"); // Печатаем приветственное сообщение // Инициируем работу датчика if (tcs.begin()) // Если инициализация сенсора цвета прошла успешно... { Serial.println("Found sensor"); // Выводим сообщение об успешной инициализации } else { Serial.println("No TCS34725 found ... check your connections"); // Выводим сообщение об ошибке while (1); // Входим в бесконечный цикл в случае неуспеха } // Конфигурируем выводы для ШИМ-сигнала как выходные pinMode(redpin, OUTPUT); pinMode(greenpin, OUTPUT); pinMode(bluepin, OUTPUT); // Инициализируем таблицу гамма-значений, она помогает // конвертировать RGB значения в различимые человеческим глазом // Отдельное спасибо за нее PhilB for (int i=0; i<256; i++) { float x = i; x /= 255; x = pow(x, 2.5); x *= 255; if (commonAnode) { gammatable[i] = 255 - x; } else { gammatable[i] = x; } } // Завершение инициализации}void loop() { uint16_t clear, red, green, blue; // Переменные для красной, зеленой и синей составляющих цвета // tcs.setInterrupt(false); // Включаем светодиод // delay(60); // Ждем как минимум 50 миллисекунд для выборки значений // tcs.getRawData(&red, &green, &blue, &clear); // Читаем данные // tcs.setInterrupt(true); // Выключаем светодиод // Выводим в монитор последовательного порта полученные значения Serial.print("C: "); Serial.print(clear); Serial.print(" R: "); Serial.print(red); Serial.print(" G: "); Serial.print(green); Serial.print(" B: "); Serial.print(blue); // Вычисляем шестнадцатеричное значение цвета uint32_t sum = clear; float r, g, b; r = red; r /= sum; g = green; g /= sum; b = blue; b /= sum; r *= 256; g *= 256; b *= 256; Serial.print(" "); Serial.print((int)r, HEX); Serial.print((int)g, HEX); Serial.print((int)b, HEX); Serial.println(); // Выставляем значения на выводах analogWrite(redpin, gammatable[(int)r]); analogWrite(greenpin, gammatable[(int)g]); analogWrite(bluepin, gammatable[(int)b]);}
Комплектация
- 1х Датчик цвета с ИК-фильтром TCS34725;
- 1х Соединитель типа "ПАПА-ПАПА";
Ссылки
- DataSheet;
- БиблиотекаAdafruit_TCS34725;
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР, Visa и MasterCard. Чтобы оплатить покупку, система перенаправит вас на сервер системы ASSIST. Здесь нужно ввести номер карты, срок действия и имя держателя.
- ЮMoney при онлайн-заказе. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Курьерская доставка работает с 9.00 до 19.00. Когда товар поступит на склад, курьерская служба свяжется для уточнения деталей. Специалист предложит выбрать удобное время доставки и уточнит адрес. Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Самовывоз из магазина. Список торговых точек для выбора появится в корзине. Когда заказ поступит на склад, вам придет уведомление. Для получения заказа обратитесь к сотруднику в кассовой зоне и назовите номер.
- Постамат. Когда заказ поступит на точку, на ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Почтовая доставка через почту России. Когда заказ придет в отделение, на ваш адрес придет извещение о посылке. Перед оплатой вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.