Система с использованием сенсора оттенка цвета

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    341,21 Кб
  • Опубликовано:
    2014-06-29
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Система с использованием сенсора оттенка цвета

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ Государственное БЮДЖЕТНОЕ образовательное учреждение высшего профессионального образования

«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧСЕКИЙ УНИВЕРСИТЕТ» (ФГБОУ ВПО «ПГТУ»)

ВЫСШИЙ КОЛЛЕДЖ ПГТУ «ПОЛИТЕХНИК»





Контрольная работа

По дисциплине «Микропроцессорные системы»

На тему: «Система с использованием сенсора оттенка цвета»

Студента Кузнецова Артема Викторовича

Преподаватель Морохин Д.В.







Введение


Цвет - качественная субъективная характеристика электромагнитного излучения оптического диапазона, определяемая на основании возникающего физиологического зрительного ощущения и зависящая от ряда физических, физиологических и психологических факторов. Восприятие цвета определяется спектральным составом, цветовым и яркостным контрастом с окружающими источниками света, а также несветящимися объектами.

Белый свет состоит из всех цветов радуги. Когда свет падает на поверхность, некоторые цвета поглощаются, а некоторые отражаются. Отраженные цвета - это цвета воспринимаемого нами объекта.

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

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

Аналитическая часть


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

Автоматизация различных технологических процессов, эффективное управление различными агрегатами, машинами, механизмами требуют многочисленных измерений разнообразных физических величин.

Используемые датчики весьма разнообразны и могут быть классифицированы по различным признакам:

В зависимости от вида входной (измеряемой) величины различают: датчики механических перемещений (линейных и угловых), пневматические, электрические, расходомеры, датчики скорости, ускорения, усилия, температуры, давления и др.

В настоящее время существует приблизительно следующее распределение доли измерений различных физических величин в промышленности: температура - 50%, расход (массовый и объемный) - 15%, давление - 10%, уровень - 5%, количество (масса, объем) - 5%, время - 4%, электрические и магнитные величины - менее 4%.

По виду выходной величины, в которую преобразуется входная величина, различают неэлектрические и электрические: датчики постоянного тока (ЭДС или напряжения), датчики амплитуды переменного тока (ЭДС или напряжения), датчики частоты переменного тока (ЭДС или напряжения), датчики сопротивления (активного, индуктивного или емкостного) и др.

Большинство датчиков являются электрическими. Это обусловлено следующими достоинствами электрических измерений:

электрические величины удобно передавать на расстояние, причем передача осуществляется с высокой скоростью;

электрические величины универсальны в том смысле, что любые другие величины могут быть преобразованы в электрические и наоборот;

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

По принципу действия датчики можно разделить на два класса:

·        генераторные

·        параметрические (датчики-модуляторы).

Генераторные датчики осуществляют непосредственное преобразование входной величины в электрический сигнал.

Параметрические датчики входную величину преобразуют в изменение какого-либо электрического параметра (R, L или C) датчика.

По принципу действия датчики также можно разделить на омические, реостатные, фотоэлектрические (оптико-электронные), индуктивные, емкостные и д.р.

Различают три класса датчиков:

аналоговые датчики, т. е. датчики, вырабатывающие аналоговый сигнал, пропорционально изменению входной величины;

цифровые датчики, генерирующие последовательность импульсов или двоич­ное слово;

бинарные (двоичные) датчики, которые вырабатывают сигнал только двух уровней: "включено/выключено" (иначе говоря, 0 или 1); получили широкое распространение благодаря своей простоте.

Требования, предъявляемые к датчикам:

однозначная зависимость выходной величины от входной;

стабильность характеристик во времени;

высокая чувствительность;

малые размеры и масса;

отсутствие обратного воздействия на контролируемый процесс и на контролируемый параметр; - работа при различных условиях эксплуатации;

различные варианты монтажа.

Сенсоры различаются по способу физического подключения. Большое количество Arduino-совместимых сенсоров легко подключаются по трём проводам. Другие сенсоры имеют контакты, подходящие для подключения через breadboard.- аппаратная вычислительная платформа, состоящая из двух основных компонентов: плата ввода-вывода и среда разработки на языке Processing/Wiring. Arduino удобна для разработки электронных устройств как для новичков, так и для профессионалов. Эта платформа пользуется огромной популярностью во всем мире из-за простого языка программирования, открытой архитектуры и программного кода. Особенность данной платформы является то, что она программируется без использования программаторов через USB. С помощью Arduino компьютер может выйти за рамки виртуального мира в физический, благодаря множеству датчиков, которые можно подключить к плате. Датчики могут получать информацию об окружающей среде, а также управлять различными исполнительными устройствами.

Разработка схемы устройства


Существует множество подходов для решения задачи определения цвета. Выбор одного из них зависит от конкретной конструкции робота, от количества сенсоров, типа сенсоров.

В данном проекте будет собрана система определения цвета предметов.

Основные цели работы:

•        Разработка системы управления

•        Выбор технических средств для создания системы

•        Запуск системы определения цвета

•        Разработка программы для управления системы определения цвета.

Для этого понадобятся следующие детали:

.        Датчик распознавания цвета "TCS230 TCS3200 Color Recognition Sensor Detector"

2.      Макетная плата

3.      Провода типа «папа-папа»

.        Arduino Uno

5.      Трехцветный диод

Описание и характеристики модуля датчика распознавания цвета TCS3200

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

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

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

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

•        Питание: 2.7- 5.5 В,

•        Цифровой интерфейс TTL

•        Преобразование уровня освещенности в частоту с высоким разрешением

•        Изменяемый рабочий диапазон генератора частоты

•        Функция «Power Down»

Описание и характеристики Arduino Uno

параметрический датчик цвет электронный

Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2


Микроконтроллер

Рабочее напряжение

5 В

Входное напряжение(рекомендуемое)

7-12 В

Входное напряжение(предельное)

6-20 В

Цифровые входы и выходы

14(6 могут использоваться как выходы ШИМ)

Аналоговые входы

6

Постоянный ток через вход/выход

40 мА

Постоянный ток для вывода 3.3 В

50 мА

Флеш-память

32 Кб из которых 0,5 Кб для загрузчика

ОЗУ

2 Кб

EEPROM

1 Кб

Тактовая частота

16 МГц


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


Блок-схема программы:


Разработка программы


#include <TimerOne.h>

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

#define S0 6

#define S1 5

#define S2 4

#define S3 3

#define OUT 2g_count = 0; // count the frequecyg_array[3]; // store the RGB valueg_flag = 0; // filter of RGB queueg_SF[3]; // save the RGB Scale factorRed;Green;Blue;int BlueLedPin = 8;int GreenLedPin = 9;int RedLedPin = 10;

// Init TSC230 and setting Frequency.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 TSC_FilterColor(int Level01, int Level02)

{

if(Level01 != 0)

Level01 = HIGH;

if(Level02 != 0)

Level02 = HIGH;

digitalWrite(S2, Level01);

digitalWrite(S3, Level02);

}TSC_Count()

{

g_count ++ ;

}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=");

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;

}

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

{

g_count = 0;

g_flag ++;

TSC_FilterColor(Level0, Level1);

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

}setup()

{

TSC_Init();

Serial.begin(38400);

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

pinMode(BlueLedPin, OUTPUT);

pinMode(GreenLedPin, OUTPUT);

pinMode(RedLedPin, OUTPUT);

// Serial.println(g_SF[0]);

// Serial.println(g_SF[1]);

// Serial.println(g_SF[2]);

}loop()

{

g_flag = 0;

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

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

Red = g_array[0] * g_SF[0];

Green = g_array[1] * g_SF[1];

Blue = g_array[2] * g_SF[2];

/*

Serial.print("Red ");

Serial.println(Red);

Serial.print("Green ");

Serial.println(Green);

Serial.print("Blue ");

Serial.println(Blue);

*/

if (Red > (Green *=1.3) && Red > (Blue *=1.3))

{

Serial.println(1);

digitalWrite(RedLedPin, HIGH);

}

else if (Green > (Red *=1.3) && Green > (Blue *=1.3))

{

Serial.println(2);

digitalWrite(GreenLedPin, HIGH);

}

else if (Blue > (Red *=1.3) && Blue > (Green *=1.3))

{

Serial.println(3);

digitalWrite(BlueLedPin, HIGH);

}

digitalWrite(RedLedPin, LOW);

digitalWrite(GreenLedPin, LOW);

digitalWrite(BlueLedPin, LOW);

}

Вывод


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

Литература


1.      Arduino [электронный ресурс]: <arduino.cc> , режим доступа-свободный.

.        Сенсор оттенка цвета [электронный ресурс]: http://amperka.ru/product/color-sensor-tcs3200 , режим доступа-свободный.

.        Како Н., Яманэ Я., Датчики и микро-ЭВМ - Пер. с япон.-Л.: Энергоатомиздат, Ленингр. отд-ние 1986.

.        Schmidt M. Arduino,- England, 2014.

Похожие работы на - Система с использованием сенсора оттенка цвета

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!