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

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

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

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

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


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

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


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


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

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

Виявлення кольорів

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

Діаграма датчика кольору, який виявляє яскраву поверхню та повідомляє значення 80%, а потім виявляє темну поверхню та повідомляє значення 20%.

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

VEXcode IQ Set color sensor light block that reads Set Color3 light to 50%.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Серед поширених способів використання в повсякденному житті:

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


Серед поширених способів використання робота VEX IQ Robot:

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

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

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

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

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

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

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

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

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-го покоління) Brain. VEX IQ (1-го покоління) Brain не підтримує Python.

color_3.is_near_object()

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

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

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

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

drivetrain.drive(FORWARD)
, поки не color_3.GREEN():
wait(20, MSEC)
drivetrain.stop()
У цьому прикладі циклWhile із умовою , а не використовується з командою color.color , щоб робот рухався вперед, доки датчик кольору не виявить зелений об’єкт. Після цього робот припинить рух. Це показано в першому відео вище.
color_3.brightness()

Команда 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)
очікування (20, MSEC)
У цьому прикладі команда color.brightness використовується, щоб робот виявляв і слідував лінії, як показано у другому відео вище.
color_3.hue()

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

brain.screen.print(color_3.hue())
drivetrain.drive(FORWARD)
поки не color_3.is_near_object():
wait(20, MSEC)
if color_3.hue() > 330 і color_3.hue() < 30:
drivetrain.turn_for(RIGHT, 90, DEGREES)
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: