Подключение датчика цвета к Ардуино

СОДЕРЖАНИЕ ►
Датчик оттенка цвета TCS230 для Ардуино способен распознавать 4 цвета и преобразует интенсивность цветового спектра в выходной сигнал различной частоты. Рассмотрим устройство датчика цвета, схему подключения к Arduino UNO и представим несколько скетчей с примерами использования датчика и вывода информации о цветовом спектре (цвет предмета) на монитор порта Arduino IDE в компьютере.
Характеристики датчика TCS230, описание
В цветовой палитре RGB, любой цвет можно представить в виде комбинации трех основных цветов: красный (R), зеленый (G) и синий (B). Поэтому для определения цвета необходимо измерять красный, синий и зелёный спектр. В качестве чувствительного элемента в датчике используется микросхема TCS230, состоящая из массива фотодиодов 8×8 — по 16 фотодиодов на три цвета и 16 фотодиодов без фильтра.

Технические характеристики:
— напряжение питания от 2,7 до 5,5 В;
— программируемые цвета и выходная частота сигнала;
— функция автоматического отключения питания;
— малая погрешность выходной частоты — 0,2%.
Датчик используется для определения оттенка цвета объекта на расстоянии до 10 мм, для подсветки места измерения на датчике имеется четыре светодиода. С обратной стороны датчика имеется две колодки с четырьмя контактами. Через эти контакты датчик TCS230 подключается к микроконтроллеру Arduino. Контакты «S0» и «S1» служат для масштабирования частоты импульсов на выходе «OUT» датчика.
Как подключить датчик TCS230 к Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- макетная плата;
- датчик оттенка цвета TCS230;
- 3 светодиода;
- 3 резистора 220 Ом;
- провода «папа-мама» и «папа-папа».

Скетч для датчика цвета TCS230 Ардуино
// назначаем имена для портов #define s2 2 #define s3 3 #define out 4 // освобождаем память для переменных byte red = 0; byte green = 0; byte blue = 0; void setup(){ pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(out, INPUT); Serial.begin(9600); } void loop() { color(); // выводим значения цветов Serial.print(" RED :" + String(red)); Serial.print(" GREEN : " + String(green)); Serial.println(" BLUE : " + String(blue)); delay(500); } void color() // процедура color { // если 2 и 3 порты отключить, то получим значение красного цвета digitalWrite(s2, LOW); digitalWrite(s3, LOW); red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); // если 3 порт включить, а 2 отключить, то получим синий цвет digitalWrite(s3, HIGH); blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); // если 2 включить, а 3 отключить, то получим зеленый цвет digitalWrite(s2, HIGH); green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); }
Пояснения к коду:
- процедура
void color()
используется для опроса датчика цвета; - в процедуре
void loop()
выводим данные на монитор порта, как на фото ниже.

Скетч калибровки датчика цвета TCS230
Калибровка должна выполняться при хорошем освещении и на одинаковом расстоянии до предмета. При изменении освещенности в помещении или расстояния до предмета — все настройки могут сбиться. Обратите внимание на то, что датчик легко определяет красный цвет, но плохо различает синий от зеленого. Для вывода информации о цвете на монитор порта, добавьте в void loop()
следующие строчки:
if (red < 20 && blue < 20 && green < 20) { Serial.println("WHITE"); } if (red > 60 && blue > 90 && green > 90) { Serial.println("BLACK"); }
Пояснения к коду:
- при необходимости следует поставить свои значения в условии, чтобы датчик оттенка цвета правильно отличал черные предметы от белых.
Подборка на тему: Подключение датчика цвета к Ардуино
Один комментарий для “Подключение датчика цвета к Ардуино”
Добавить комментарий
Записи похожие на: Arduino. Подключение датчика цвета TCS230
- Подключение датчика вибрации к Ардуино
- Итоги работы кружка за 2018 год
- Ардуино Due: распиновка, характеристики
- Библиотеки для Ардуино Уно, Нано скачать
Проекты похожие на: Arduino. Подключение датчика цвета TCS230
Довольно капризный датчик, показания зависят от освещенности