У цьому проекті ми збираємось взаємодіяти датчик кольору TCS3200 з Arduino UNO. TCS3200 - це кольоровий датчик, який може визначати будь-яку кількість кольорів за допомогою правильного програмування. TCS3200 містить масиви RGB (червоний зелений синій). Як показано на малюнку на мікроскопічному рівні, на датчику можна побачити квадратні коробки всередині ока. Ці квадратні ящики є масивами RGB-матриці. Кожна з цих коробок містить по три датчики, один призначений для ЧЕРВОНОЇ інтенсивності світла, один - для визначення ЗЕЛЕНОЇ інтенсивності світла, а останній - для виявлення СИНЬОЇ інтенсивності світла.
Кожен із масивів датчиків у цих трьох масивах вибирається окремо залежно від вимог. Тому він відомий як програмований датчик. Модуль може бути призначений для відчуття конкретного кольору та залишення інших. Він містить фільтри для цієї мети відбору. Існує четвертий режим, який не є режимом фільтра. Без режиму фільтра датчик виявляє біле світло.
Потрібні компоненти
Апаратне забезпечення: ARDUINO UNO, блок живлення (5 в), світлодіод, JHD_162ALCD (16 * 2LCD), кольоровий датчик TCS3200.
Програмне забезпечення: ARDUINO IDE (ARDUINO щоночі).
Принципова схема та робоче пояснення
У РК-дисплеї 16x2 є 16 штифтів, якщо є підсвічування, якщо немає підсвічування, буде 14 штифтів. Можна підключити або залишити шпильки підсвічування. Тепер у 14 висновках є 8 висновків даних (7-14 або D0-D7), 2 висновки джерела живлення (1 & 2 або VSS & VDD або GND & + 5v), 3- й висновок для контролю контрасту (VEE - контролює, наскільки товстими повинні бути символи показано) та 3 керуючі штифти (RS & RW & E)
У схемі ви можете помітити, що я взяв лише два керуючі штифти. Біт контрасту та READ / WRITE використовуються не часто, тому їх можна закоротити на землю. Це дає РК-дисплею найвищий контраст і режим читання. Нам просто потрібно контролювати ENABLE та RS-шпильки, щоб відповідно надсилати символи та дані.
Підключення, які виконуються для РК-дисплея, наведені нижче:
PIN1 або VSS на землю
PIN2 або VDD або VCC до + 5 В потужності
PIN3 або VEE на землю (забезпечує максимальний контраст найкращий для початківця)
PIN4 або RS (Вибір реєстру) до PIN8 ARDUINO UNO
PIN5 або RW (читання / запис) на землю (переведення РК в режим читання полегшує зв'язок для користувача)
PIN6 або E (увімкнути) доPIN9 ARDUINO UNO
PIN11 або D4 до PIN7 ARDUINO UNO
PIN12 або D5 до PIN11 ARDUINO UNO
PIN13 або D6 до PIN12 ARDUINO UNO
PIN14 або D7 до PIN13 ARDUINO UNO
Підключення, які виконуються для кольорового датчика, наведені нижче:
VDD до + 5В
GND до GROUND
OE (вихідний сигнал увімкнено) до GND
S0 до штифта 2 UNO
S1 до штифта 3 UNO
S2 до виводу 4 UNO
S3 до виводу 5 UNO
ВИХІД на штифт 10 UNO
Колір, який потрібно відчути кольоровим датчиком, обирається двома штифтами S2 і S3. За допомогою цих двох висновків логічного управління ми можемо сказати датчику, який кольоровий рівень інтенсивності світла слід виміряти.
Скажімо, нам потрібно відчути ЧЕРВОНИЙ колір, щоб нам потрібно було встановити обидва штифти на LOW. Після цього датчик виявляє інтенсивність і передає значення системі управління всередині модуля.
S2 |
S3 |
Фотодіодний тип |
L |
L |
Червоний |
L |
H |
Синій |
H |
L |
Очистити (без фільтра) |
H |
H |
Зелений |
Система управління всередині модуля показана на малюнку. Інтенсивність світла, виміряна масивом, надходить на перетворювач струму в частоту. Що він робить, це видає квадратну хвилю, частота якої стосується струму, що надсилається ARRAY.
Отже, ми маємо систему, яка посилає квадратну хвилю, частота якої залежить від інтенсивності світла кольору, яку обирають S2 та S3.
Частота сигналу, що передається модулем, може модулюватися залежно від використання. Ми можемо змінити пропускну здатність частоти вихідного сигналу.
S0 |
S1 |
Масштабування вихідної частоти (f 0) |
L |
L |
Вимкнення живлення |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
Масштабування частоти виконується двома бітами S0 і S1. Для зручності ми збираємось обмежити масштабування частоти до 20%. Це робиться шляхом встановлення S0 на високий і S1 на низький. Ця функція стане в нагоді, коли ми використовуємо модуль в системі з низьким тактом.
Чутливість масиву до кольору зображена на малюнку нижче.
Хоча різні кольори мають різну чутливість, для звичайного використання це не буде мати великої різниці.
Тут UNO надсилає сигнал модулю для виявлення кольорів, а дані, отримані модулем, відображаються на підключеному до нього РК-дисплеї 16 * 2.
UNO виявляє три інтенсивності кольору окремо і показує їх на РК-дисплеї.
Uno може виявити тривалість імпульсу сигналу, за допомогою якого ми можемо отримати частоту квадратної хвилі, що передається модулем. З частотою під рукою ми можемо зіставити її з кольором на датчику.
|
Як і за вищезазначеною умовою, UNO зчитує тривалість імпульсу на 10- му штифті UNO і зберігає його значення в цілому числі "частоти".
Ми зробимо це для всіх трьох кольорів для розпізнавання кольорів. Усі три інтенсивності кольору відображаються на частотах на РК-дисплеї 16x2.