Використання сенсора кольору VEX IQ (1-го покоління).

Датчик кольору використовує відбите світло, щоб визначити колір об’єкта, значення відтінку, значення градацій сірого, яскравість і відстань.

Датчик кольору VEX IQ (1-го покоління).

Датчик кольору VEX IQ входить до комплекту VEX IQ Super Kit, а також його можна .

Використовуєте робота VEX IQ другого покоління? Дивіться огляд датчиків 2-го покоління тут, а також інформацію про оптичний датчик, версію кольорового датчика 2-го покоління.


Опис датчика кольору

Датчик кольору VEX IQ має кілька режимів, що дозволяють йому фіксувати різні типи інформації з навколишнього середовища. На інформацію, яку він збирає, впливають умови освітлення навколишнього середовища, а також відстань між датчиком та об'єктом або поверхнею, яку він зчитує.


Колірне коло, що демонструє, як коло на 360 градусів співвідноситься зі значенням відтінку. Червоний колір має градус 0, зелений колір — 120, а синій колір — 240.


Як працює датчик кольору

Датчик кольору може розпізнавати як колір, так і близькість.

Виявлення кольорів
VEXcode IQ Яскравість блоку, що зчитує яскравість Color3 у %.
Схема датчика кольору, який виявляє яскраву поверхню та повідомляє про значення 80%, а потім виявляє темну поверхню та повідомляє про значення 20%.

У режимі яскравості датчик кольору використовується для визначення інтенсивності всього світла в оточенні робота. Чим більше світла потрапляє на датчик кольору, коли він активний, тим вище відсоткове значення надсилається до мозку робота.

VEXcode IQ Встановити блок світлового датчика кольору, який показує Встановити світло Color3 на 50%.
Датчик кольору, зображений прикріпленим до робота в темному середовищі. Лампа датчика кольору вмикається для освітлення навколишнього середовища.

Якщо визначений відсоток яскравості низький або ненадійний, лампу датчика кольору можна ввімкнути або підвищити відсоток яскравості лампи, використовуючи наступний набір світла для блокування:

Три блоки датчика кольору VEXcode IQ. Перший – це колір блоку, який читається як назва кольору Color3. Другий – це блок Hue, який зчитує відтінок Color3 у градусах. Третій — це блок виявлення кольору, який читає «Color3 не виявляє нічого?».

Датчик кольору може повідомляти про колір, який він бачить, як значення кольору або як значення відтінку.

VEXcode IQ Color виявляє блок, який читається Color3 не виявляє нічого? Відкриється випадаюче меню «Колір» блоку, де відобразиться список кольорів, які він розпізнає. У списку написано: помаранчевий, фіолетовий, червоно-фіолетовий, фіолетовий, синьо-фіолетовий, синьо-зелений, жовто-зелений, жовто-помаранчевий та червоно-помаранчевий.

Значення кольорів.У списку є 14 кольорів, які може виявити датчик кольору. На зображенні блоку відсутні такі кольори: червоний, зелений, синій, білий і жовтий.

Діаграма значень відтінку, що демонструє, як 360 градусів співвідносяться зі значенням відтінку. Червоний колір має градус 0, зелений колір — 120, а синій колір — 240.

Значення відтінку.Значення відтінку подібні до значень кольору, але є числовими. Значення відтінку коливається від 0 до 360, як градуси. Перелічені вище значення кольорів мають власні еквівалентні діапазони значень відтінку. 

Важливо, щоб для визначення кольорів та відтінків датчик кольору мав достатню кількість світла. Обов’язково перевірте, також відоме як калібрування, ваш датчик кольору за різних рівнів освітлення та з лампою, встановленою на різні рівні, щоб визначити, яке налаштування є найнадійнішим для датчика кольору вашого робота.

Виявлення близькості

Датчик кольору містить інфрачервоний датчик-випромінювач. Інфрачервоний випромінювач випромінює невидиме світло, а потім виявляє його відбиття. Якщо більша частина інфрачервоного світла відбивається назад до датчика, це повідомляє мозку робота, що об'єкт знаходиться близько.

VEXcode IQ Знайшли блок об'єкта, який показує, що Color3 знаходиться поруч з об'єктом?

Загальне використання датчика кольору

Колірні датчики використовуються в багатьох технологічних застосуваннях, де важливо мати певні кольори на дисплеях або продуктах.

Деякі поширені способи використання у повсякденному житті включають:

  • Інструменти калібрування кольорів перевіряють, чи цифровий екран відображає точні кольори, а потім регулюють параметри дисплея за потреби. Художникам-графікам і будь-якому дизайнеру, який працює з кольором на цифровому екрані, важливо бачити правильний колір, який відображається. Неточні кольори призводять до непорозумінь і марної витрати ресурсів.
  • Фотоапарати та відеокамери використовують датчики кольору, щоб регулювати налаштування залежно від умов освітлення, у яких вони знаходяться, щоб покращити свої фотографії та відео шляхом максимізації рівня освітленості та покращення тьмяних кольорів. Ці датчики також дозволяють фотографу зосередитися на певних кольорах на своїх фотографіях.
  • Датчики кольору іноді використовуються на виробництві, щоб швидко перевірити, чи продукт має правильний колір, перш ніж його відправлять клієнту. Наприклад, фрукти та овочі, які забарвлюються, коли дозріють або готові до вживання, можна відсканувати, щоб переконатися, що вони мають правильний колір для надсилання на ринок. 


Деякі поширені способи використання робота VEX IQ включають:

  • Цей датчик можна використовувати для визначення кольору об'єкта. Перегляньте цю анімацію, щоб побачити, як робот рухається вперед, доки кольоровий датчик не виявить зелений куб.

  • Цей датчик можна використовувати для виявлення та/або слідування лінії. Перегляньте цю анімацію, щоб побачити робота, який їде по позначеній лінії за допомогою датчика кольору.

  • Цей датчик може визначити, чи знаходиться об'єкт поблизу.

Датчики кольору на змагальному роботі

Пам’ятайте, що для визначення кольорів та відтінків важливо, щоб датчик кольору мав достатню кількість світла. Обов’язково перевіряйте, також відоме як калібрування, свій датчик кольору щоразу, коли ви прибуваєте на нове місце змагань, оскільки різні рівні освітлення можуть впливати на його роботу. Перевірте свій проєкт з лампою, встановленою на різних рівнях, щоб визначити, яке налаштування є найнадійнішим для датчика кольору вашого робота. 

Інформація, зібрана датчиком кольору, корисна для програмування робота-спортсмена, щоб він реагував на різноманітні умови. Датчик кольору може покращити робота для змагань наступним чином:

  • Це дозволяє роботу визначити колір об’єкта поблизу датчика. Це корисно, якщо ви хочете, щоб робот сортував об’єкти різного кольору, під’їжджав до об’єкта певного кольору або визначав колір об’єктів, коли вони проходять повз датчик.
  • Це дозволяє роботу визначити, скільки світла відбивається назад у датчик. Це дозволяє вашому роботу їздити, поки він не досягне лінії на поверхні, або навіть слідувати лінії.
  • Це дозволяє роботу знати, чи є предмет або поверхня поблизу. Це корисно для визначення того, чи є виявлений колір зчитуванням із сусіднього об’єкта чи потенційно аномальним зчитуванням віддаленої поверхні чи світла. 

Кодування датчика кольору блоками

VEXcode IQ Знайшли блок об’єкта, який читає Color3 is near object?

Блок <Found an object> — це логічний блок звіту, який повідомляє про умову як істинну або хибну. Логічні блоки, такі як блок <Found an object> , вписуються в блоки з шестикутними (шестисторонніми) входами для інших блоків.

Логічний блок <Found an object> повідомляє «true», якщо «true», якщо датчик кольору виявляє об’єкт, і «false», якщо датчик цього не робить. Щоб дізнатися більше про логічні блоки, відвідайте статтю Довідка або Форми та значення блоків.

 

VEXcode IQ блокує проект, який використовує датчик кольору для руху вперед, доки не знайде об’єкт. У проекті написано: Коли розпочато, їдьте вперед, зачекайте, поки Color3 знайде об’єкт, а потім зупиніть рух.

У цьому прикладі блок <Found an object> використовується для виявлення близькості разом із блоком [Зачекати], щоб змусити робота рухатися вперед, доки не буде виявлено об’єкт.

VEXcode IQ Колір виявляє блок, який читає Color3 виявляє зелений?

Блок <Color detects> також є логічним блоком репортера, який повідомляє умову як істинну або хибну. Блок <Color detects> повідомляє «true», якщо «true», якщо датчик кольору виявляє вибраний колір, і «false», якщо датчик виявляє будь-який інший колір. Щоб дізнатися більше про логічні блоки, відвідайте статтю Довідка або Форми та значення блоків.

 

VEXcode IQ блокує проект, який використовує датчик кольору для руху вперед, доки він не виявить зелений колір. У проекті написано «Коли розпочато, їдьте вперед, зачекайте, поки Color3 виявить зелений колір, а потім зупиніть рух».

У цьому прикладі блок <Color detects> використовується разом із блоком [Зачекати], щоб змусити робота рухатися вперед, доки датчик кольору не виявить зелений об’єкт. Після цього робот припинить рух. Це показано в першому відео вище.

VEXcode IQ Яскравість блоку, який зчитує яскравість Color3 у %.

Блок (Яскравість) повідомляє кількість світла, виявлену датчиком кольору. Це репортерський блок, який використовується всередині інших блоків із круглими проміжками.

Блок (Яскравість) повідомляє про діапазон від 0% до 100%.

 

VEXcode IQ блокує проект, який використовує сенсор кольору, спрямований вниз, щоб слідувати позначеній лінії. У проекті написано «Після запуску встановіть Color3 light на 25%. Далі, назавжди, якщо яскравість Color3 у % перевищує 25, поверніть лівий двигун вперед на 35 градусів, інакше поверніть правий двигун вперед на 35 градусів.

У цьому прикладі блок (Яскравість) використовується, щоб робот виявляв і слідував лінії, як показано в другому відео вище.

VEXcode IQ Hue блоку, який зчитує колір Color3 у градусах.

Блок (Hue of) повідомляє відтінок кольору, визначений датчиком кольору. Це репортерський блок, який використовується всередині інших блоків із круглими проміжками.

Блок (Яскравість) повідомляє про діапазон від 0 до 360.

 

VEXcode IQ блокує проект, який використовує оптичний датчик для руху вперед, доки він не досягне об’єкта, а потім повертає праворуч, якщо він червоний, або ліворуч, якщо ні. У проекті написано: Коли розпочато, надрукуйте відтінок Color3 у градусах на Brain, проїдьте вперед і зачекайте, поки Color3 знайде об’єкт. Якщо відтінок Color3 у градусах перевищує 330, а відтінок Color3 у градусах менше 30, тоді поверніть праворуч на 90 градусів, інакше поверніть ліворуч на 90 градусів.

У цьому прикладі блок (Hue of) використовується, щоб робот перевірив діапазон значень відтінку, які відповідають червоному кольору, і повернув праворуч на 90 градусів, якщо ці значення виявлено датчиком. Якщо будуть виявлені інші значення відтінку, робот повернеться ліворуч на 90 градусів.

Блок (Hue of) може бути корисним, коли роботові необхідно визначити певні кольори, коли умови навколишнього освітлення можуть бути суперечливими.

Кодування датчика кольору в Python

Примітка:Щоб написати вимикач бампера VEX IQ (1-го покоління) мовою Python, його необхідно підключити до мозкового процесора VEX IQ (2-го покоління). VEX IQ (1-го покоління) Brain не підтримує Python.

color_3.is_near_object()

Команда color.is_near_object повідомляє True , коли датчик кольору виявляє об’єкт або поверхню поблизу передньої частини датчика, і False , коли датчик кольору виявляє об’єкт або поверхню поблизу передньої частини датчика. датчик.

Примітка:Назва датчика кольору, яка з’являється в команді, відповідає назві, наданій у конфігурації. 

drivetrain.drive(ВПЕРЕД)
while not color_3.is_near_object():
wait(20, MSEC)
drivetrain.stop()
У цьому прикладі циклWhile з умовою not використовується разом з командою color.is_near_object , щоб робот рухався вперед, доки датчик кольору не виявить об'єкт поблизу передньої частини датчика.
color_3.color()

Команда color.color повідомляє про колір, який наразі визначається датчиком кольору.

drivetrain.drive(ВПЕРЕД)
поки не color_3.GREEN():
    очікування(20, МСЕК)
drivetrain.stop()
У цьому прикладі циклWhile з умовою not використовується з командою color.color , щоб робот рухався вперед, доки датчик кольору не виявить зелений об'єкт. Після цього робот зупиниться. Це проілюстровано у першому відео вище.
color_3.яскравість()

Команда color.brightness повідомляє про кількість світла, виявленого датчиком кольору. Він повідомляє діапазон значень від 0% до 100%.

color_3.set_light(25, PERCENT)
    while True:
        if color_3.brightness() > 25:
            # Якщо датчик кольору виявляє світло, то робот зміститься ліворуч
            LeftMotor.spin_for(FORWARD, 35, DEGREES)
        else:
            # Якщо датчик кольору виявляє темряву, то робот зміститься праворуч
            RightMotor.spin_for(FORWARD, 35, DEGREES)
        wait(20, MSEC)
У цьому прикладі команда color.brightness використовується, щоб робот виявляв і слідував лінії, як показано у другому відео вище.
color_3.hue()

Команда color.hue повідомляє відтінок кольору, визначений датчиком кольору. Він повідомляє діапазон значень відтінку від 0 до 360.

brain.screen.print(color_3.hue())
drivetrain.drive(ВПЕРЕД)
while not color_3.is_near_object():
    wait(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
    drivetrain.turn_for(ПРАВОРУЧ, 90, ГРАДУСІВ)
else:
    drivetrain.turn_for(ЛІВОРУЧ, 90, ГРАДУСІВ)

У цьому прикладі команда color.hue використовується, щоб робот перевірив діапазон значень відтінку, які відповідають червоному кольору, і повернув праворуч на 90 градусів, якщо ці значення виявлено датчиком. Якщо будуть виявлені інші значення відтінку, робот повернеться ліворуч на 90 градусів.

Команда color.hue може бути корисною, коли роботові необхідно виявити певні кольори, коли умови навколишнього освітлення можуть бути суперечливими.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: