MP615 - Датчик цвета купить в Мастер Кит. Драйвер, программы, схема, отзывы, инструкция, своими руками, DIY
MP615 - Датчик цвета купить в Мастер Кит. Драйвер, программы, схема, отзывы, инструкция, своими руками, DIY
У нас Вы можете купить Мастер Кит MP615 - Датчик цвета: цена, фото, DIY, своими руками, технические характеристики и комплектация, отзывы, обзор, инструкция, драйвер, программы, схема
Мастер Кит, MP615, Датчик цвета, цена, описание, фото, купить, DIY, своими руками, отзывы, обзор, инструкция, доставка, драйвер, программы, схема

MP615
Датчик цвета

Только правильные цвета!

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

Нет в наличии

210
скидка 210

---

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


Инструкции


Дополнительная информация

Модуль построен на основе программируемого преобразователя цвета в частоту на микросхеме TCS3200. Преобразователь отфильтровывает RGB компоненты светового излучения и и формирует меандр, частота которого прямо пропорциональна интенсивности каждого компонента цвета. При измерениях необходимо осуществлять подстройку баланса белого при каждом изменении условий освещенности.

Особенности модуля:

  • Высокое разрешение преобразования интенсивности цветов в частоту
  • Программирование текущего канала определения цвета и масштабирования шкалы
  • Прямое подсоединение к микроконтроллеру
  • Напряжение питания от 2.7 до 5.5 В
  • Функция отключения модуля
  • Нелинейность около 0.2% на частоте 50 кГц
  • Температурная стабильность 200 ppm/°C
  • Низкопрофильный монтаж на плате

Назначение выводов:

1 - S0 (программирующий вход)
2 - S1 (программирующий вход)
3 - включение датчика (активный уровень - 0)
4 - земля питания
5 - U пит.
6 - выход
7 - S3 (программирующий вход)
8 - S4 (программирующий вход)

Программирующие входы S0, S1 определяют шкалу частоты (в зависимости от комбинации высоких и низких потенциалов на этих выводах).
Два вывода могут дать четыре комбинации режимов:

  • 0 - отключить выход частоты
  • 1 - шкала 2% от 600 кГц максимальной возможной частоты
  • 2 - шкала 20% от 600 кГц максимальной возможной частоты
  • 3 - шкала 100% от 600 кГц максимальной возможной частоты

Входы S2, S3 определяют режим измерения цвета, также два вывода дают четыре комбинации режимов:

  • 0 - используются фотодиоды с красным фильтром
  • 1 - используются фотодиоды с синим фильтром
  • 2 - используются фотодиоды без фильтра
  • 3 - используются фотодиоды с зеленым фильтром

 

Пример работы с датчиком для Ардуино:

Используем Ардуино для питания модуля напряжением 5 В. Закорачиваем выводы LED и GND, включая таким образом светодиоды подсветки.

Выводы Ардуино подключаем следующим образом:

GND & LED – GND , OE – GND, VCC – VCC, S0 – D6, S1 – D5, S2 – D4, S3 – D3, OUT – D2

Будем использовать внешнее прерывание 0, соответствующее выводу D2 Ардуино, к которому подсоединен вывод OUT датчика.

Для правильной работы программы необходимо скачать и установить библиотеку TimerOne для ATmega168/328.

Код:

/*------------------------------------------------------------------------------*/

#include <TimerOne.h>

#define S0 6

#define S1 5

#define S2 4

#define S3 3

#define OUT 2

 

int g_count = 0; // count the frequecy

int g_array[3]; // store the RGB value

int g_flag = 0; // filter of RGB queue

float g_SF[3]; // save the RGB Scale factor

 

 

// Init TSC230 and setting Frequency.

void TSC_Init()

{

pinMode(S0, OUTPUT);

pinMode(S1, OUTPUT);

pinMode(S2, OUTPUT);

pinMode(S3, OUTPUT);

pinMode(OUT, INPUT);

 

digitalWrite(S0, LOW); // OUTPUT FREQUENCY SCALING 2%

digitalWrite(S1, HIGH);

}

 

// Select the filter color

void TSC_FilterColor(int Level01, int Level02)

{

if(Level01 != 0)

Level01 = HIGH;

 

if(Level02 != 0)

Level02 = HIGH;

 

digitalWrite(S2, Level01);

digitalWrite(S3, Level02);

}

 

void TSC_Count()

{

g_count ++ ;

}

 

void TSC_Callback()

{

switch(g_flag)

{

case 0:

Serial.println("->WB Start");

TSC_WB(LOW, LOW); //Filter without Red

break;

case 1:

Serial.print("->Frequency R=");

Serial.println(g_count);

g_array[0] = g_count;

TSC_WB(HIGH, HIGH); //Filter without Green

break;

case 2:

Serial.print("->Frequency G=");

Serial.println(g_count);

g_array[1] = g_count;

TSC_WB(LOW, HIGH); //Filter without Blue

break;

 

case 3:

Serial.print("->Frequency B=");

Serial.println(g_count);

Serial.println("->WB End");

g_array[2] = g_count;

TSC_WB(HIGH, LOW); //Clear(no filter)

break;

default:

g_count = 0;

break;

}

}

 

void TSC_WB(int Level0, int Level1) //White Balance

{

g_count = 0;

g_flag ++;

TSC_FilterColor(Level0, Level1);

Timer1.setPeriod(1000000); // set 1s period

}

 

void setup()

{

TSC_Init();

Serial.begin(9600);

Timer1.initialize(); // defaulte is 1s

Timer1.attachInterrupt(TSC_Callback);

attachInterrupt(0, TSC_Count, RISING);

 

delay(4000);

 

for(int i=0; i<3; i++)

Serial.println(g_array[i]);

 

g_SF[0] = 255.0/ g_array[0]; //R Scale factor

g_SF[1] = 255.0/ g_array[1] ; //G Scale factor

g_SF[2] = 255.0/ g_array[2] ; //B Scale factor

 

Serial.println(g_SF[0]);

Serial.println(g_SF[1]);

Serial.println(g_SF[2]);

 

}

 

void loop()

{

g_flag = 0;

for(int i=0; i<3; i++)

Serial.println(int(g_array[i] * g_SF[i]));

delay(4000);

 

}

/*------------------------------------------------------------------------------*/

 

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

Все три значения R,G и B будут равны 255, как показывает стрелка 3 на рисунке.

 

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


Схемы

Схема модуля - MP615 - Датчик цвета

Схема модуля



Copyright www.maxx-marketing.net
Рейтинг@Mail.ru

Почему выбирают Мастер Китнас


Мы в Сети


© 1999-2024 Мастер Кит