Датчик кольору використовує відбите світло, щоб визначити колір об’єкта, значення відтінку, значення градацій сірого, яскравість і відстань.
Датчик кольору VEX IQ входить до комплекту VEX IQ Super Kit і його також можна придбати тут.
Користуєтеся роботом VEX IQ 2-го покоління? Перегляньте огляд датчиків 2-го покоління тут, а також інформацію про оптичний датчик, версію 2-го покоління датчика кольору.
Опис датчика кольору
Датчик кольору VEX IQ має кілька режимів, які дозволяють йому отримувати різні типи інформації з навколишнього середовища. На інформацію, яку він збирає, впливають умови освітлення навколишнього середовища, а також відстань між датчиком і об’єктом або поверхнею, яку він зчитує.
Як працює датчик кольору
Датчик кольору може виявляти як колір, так і наближення.
Виявлення кольорів
У режимі яскравості датчик кольору використовується для визначення інтенсивності всього світла в оточенні робота. Чим більше світла потрапляє на датчик кольору, коли він активний, тим вище відсоткове значення надсилається до мозку робота.
Якщо визначений відсоток яскравості низький або ненадійний, лампу датчика кольору можна ввімкнути або підвищити відсоток яскравості лампи, використовуючи наступний набір світла для блокування:
Датчик кольору може повідомляти про колір, який він бачить, як значення кольору або як значення відтінку.
Значення кольорів.У списку є 14 кольорів, які може виявити датчик кольору. На зображенні блоку відсутні такі кольори: червоний, зелений, синій, білий і жовтий.
Значення відтінку.Значення відтінку схожі на значення кольору, але є числовими. Значення відтінку коливається від 0 до 360, як градуси. Перелічені вище значення кольорів мають власні еквівалентні діапазони значень відтінку.
Під час визначення кольорів і відтінків важливо, щоб датчик кольору мав для цього належну кількість світла. Перевірте, також відоме як калібрування, свій датчик кольору при різних рівнях освітлення та з лампою, встановленою на різних рівнях, щоб визначити, яке налаштування є найнадійнішим для датчика кольору вашого робота.
Виявлення близькості
Датчик кольору містить інфрачервоний датчик-випромінювач. Інфрачервоний випромінювач випромінює невидиме світло, а потім виявляє його відображення. Якщо більша частина інфрачервоного світла відбивається назад до датчика, це повідомляє мозок робота, що об’єкт знаходиться близько.
Загальне використання датчика кольору
Датчики кольорів використовуються в багатьох технологічних програмах, де важливо мати певні кольори на дисплеях або продуктах.
Серед поширених способів використання в повсякденному житті:
- Інструменти калібрування кольорів перевіряють, чи цифровий екран відображає точні кольори, а потім регулюють параметри дисплея за потреби. Художникам-графікам і будь-якому дизайнеру, який працює з кольором на цифровому екрані, важливо бачити правильний колір, який відображається. Неточні кольори призводять до непорозумінь і марної витрати ресурсів.
- Фотоапарати та відеокамери використовують датчики кольору, щоб регулювати налаштування залежно від умов освітлення, у яких вони знаходяться, щоб покращити свої фотографії та відео шляхом максимізації рівня освітленості та покращення тьмяних кольорів. Ці датчики також дозволяють фотографу зосередитися на певних кольорах на своїх фотографіях.
- Датчики кольору іноді використовуються на виробництві, щоб швидко перевірити, чи продукт має правильний колір, перш ніж його відправлять клієнту. Наприклад, фрукти та овочі, які забарвлюються, коли дозріють або готові до вживання, можна відсканувати, щоб переконатися, що вони мають правильний колір для надсилання на ринок.
Серед поширених способів використання робота VEX IQ Robot:
- Цей датчик можна використовувати для визначення кольору об'єкта. Перегляньте цю анімацію, щоб побачити, як робот рухається вперед, доки кольоровий датчик не виявить зелений куб.
- Цей датчик можна використовувати для виявлення та/або слідування лінії. Перегляньте цю анімацію, щоб побачити робота, який їде по позначеній лінії за допомогою датчика кольору.
- Цей датчик може визначити, чи знаходиться об'єкт поблизу.
Датчики кольору на змагальному роботі
Пам’ятайте, що під час визначення кольорів і відтінків важливо, щоб датчик кольору мав для цього належну кількість світла. Обов’язково перевіряйте, також відоме як калібрування, свій датчик кольору кожного разу, коли прибуваєте на нове місце змагань, оскільки різні рівні освітлення можуть вплинути на роботу вашого датчика кольору. Перевірте свій проект, встановивши лампу на різних рівнях, щоб визначити, яке налаштування є найнадійнішим для датчика кольору вашого робота.
Інформація, зібрана датчиком кольору, корисна для програмування конкурентоспроможного робота реагувати на різноманітні умови. Датчик кольору може покращити конкурентного робота такими способами:
- Це дозволяє роботу визначити колір об’єкта поблизу датчика. Це корисно, якщо ви хочете, щоб робот сортував об’єкти різного кольору, під’їжджав до об’єкта певного кольору або визначав колір об’єктів, коли вони проходять повз датчик.
- Це дозволяє роботу визначити, скільки світла відбивається назад у датчик. Це дозволяє вашому роботу їздити, поки він не досягне лінії на поверхні, або навіть слідувати лінії.
- Це дозволяє роботу знати, чи є предмет або поверхня поблизу. Це корисно для визначення того, чи є виявлений колір зчитуванням із сусіднього об’єкта чи потенційно аномальним зчитуванням віддаленої поверхні чи світла.
Кодування датчика кольору блоками
Блок <Found an object> — це логічний блок звіту, який повідомляє про умову як істинну або хибну. Логічні блоки, такі як блок <Found an object> , вписуються в блоки з шестикутними (шестисторонніми) входами для інших блоків.
Логічний блок <Found an object> повідомляє «true», якщо «true», якщо датчик кольору виявляє об’єкт, і «false», якщо датчик цього не робить. Щоб дізнатися більше про логічні блоки, відвідайте статтю Довідка або Форми та значення блоків.
У цьому прикладі блок <Found an object> використовується для виявлення близькості разом із блоком [Зачекати], щоб змусити робота рухатися вперед, доки не буде виявлено об’єкт.
Блок <Color detects> також є логічним блоком репортера, який повідомляє умову як істинну або хибну. Блок <Color detects> повідомляє «true», якщо «true», якщо датчик кольору виявляє вибраний колір, і «false», якщо датчик виявляє будь-який інший колір. Щоб дізнатися більше про логічні блоки, відвідайте статтю Довідка або Форми та значення блоків.
У цьому прикладі блок <Color detects> використовується разом із блоком [Зачекати], щоб змусити робота рухатися вперед, доки датчик кольору не виявить зелений об’єкт. Після цього робот припинить рух. Це показано в першому відео вище.
Блок (Яскравість) повідомляє кількість світла, виявлену датчиком кольору. Це репортерський блок, який використовується всередині інших блоків із круглими проміжками.
Блок (Яскравість) повідомляє про діапазон від 0% до 100%.
У цьому прикладі блок (Яскравість) використовується, щоб робот виявляв і слідував лінії, як показано в другому відео вище.
Блок (Hue of) повідомляє відтінок кольору, визначений датчиком кольору. Це репортерський блок, який використовується всередині інших блоків із круглими проміжками.
Блок (Яскравість) повідомляє про діапазон від 0 до 360.
У цьому прикладі блок (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) |
| У цьому прикладі циклWhile із умовою не використовується з командою color.is_near_object , щоб змусити робота рухатися вперед, доки датчик кольору не виявить об’єкт поблизу передньої частини датчик. |
color_3.color()
Команда color.color повідомляє про колір, який на даний момент визначається датчиком кольорів.
drivetrain.drive(FORWARD) |
| У цьому прикладі циклWhile із умовою , а не використовується з командою color.color , щоб робот рухався вперед, доки датчик кольору не виявить зелений об’єкт. Після цього робот припинить рух. Це показано в першому відео вище. |
color_3.brightness()
Команда color.brightness повідомляє кількість світла, виявлену датчиком кольору. Він повідомляє про діапазон значень від 0% до 100%.
color_3.set_light(25, PERCENT) |
| У цьому прикладі команда color.brightness використовується, щоб робот виявляв і слідував лінії, як показано у другому відео вище. |
color_3.hue()
Команда color.hue повідомляє відтінок кольору, визначений датчиком кольору. Він повідомляє діапазон значень відтінку від 0 до 360.
brain.screen.print(color_3.hue()) |
|
У цьому прикладі команда color.hue використовується, щоб робот перевірив діапазон значень відтінку, які відповідають червоному кольору, і повернув праворуч на 90 градусів, якщо ці значення виявлено датчиком. Якщо будуть виявлені інші значення відтінку, робот повернеться ліворуч на 90 градусів. Команда color.hue може бути корисною, коли роботові необхідно виявити певні кольори, коли умови навколишнього освітлення можуть бути суперечливими. |