Использование датчика цвета 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 Установите блок датчика цвета, который считывает значение «Установить цвет3» на 50%.

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

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

Три блока датчиков цвета VEXcode IQ. Первый — это блок Color, в котором указано название цвета Color3. Второй — блок Hue, который отображает оттенок Color3 в градусах. Третий — блок обнаружения цвета, в котором написано: Color3 не обнаруживает ничего?

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

VEXcode IQ Color обнаруживает блок, который читает Color3, не обнаруживает ничего? Открывается раскрывающееся меню «Цвет» блока, в котором отображается список цветов, которые он распознает. Список выглядит следующим образом: оранжевый, пурпурный, красно-фиолетовый, фиолетовый, сине-фиолетовый, сине-зеленый, желто-зеленый, желто-оранжевый и красно-оранжевый.

Цветовые значения.Перечислено 14 цветов, которые может обнаружить датчик цвета. В изображении блока отсутствуют следующие цвета: красный, зеленый, синий, белый и желтый.

Диаграмма значений оттенка, демонстрирующая, как 360 градусов соотносятся со значением оттенка. Красный цвет имеет степень 0, зеленый цвет имеет степень 120, а синий цвет имеет степень 240.

Значения оттенка.Значения оттенка аналогичны значениям цвета, но числовые. Значение оттенка варьируется от 0 до 360, как и в градусах. Перечисленные выше значения цвета имеют свои собственные эквивалентные диапазоны значений оттенка. 

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

Обнаружение близости

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

VEXcode IQ Найден блок объекта, который читает Color3, находится рядом с объектом?

Распространенное использование датчика цвета

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

Некоторые распространенные варианты использования в повседневной жизни включают в себя:

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


Некоторые распространенные варианты использования робота VEX IQ включают в себя:

  • Этот датчик можно использовать для определения цвета объекта. Посмотрите эту анимацию, чтобы увидеть, как робот движется вперед, пока датчик цвета не обнаружит зеленый куб.

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

  • Этот датчик может определить, находится ли объект рядом.

Датчики цвета на соревновательном роботе

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

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

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

Кодирование датчика цвета в блоках

VEXcode IQ Найден блок объекта, который читает Color3, находится рядом с объектом?

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

Логический блок <Found an object> сообщает «истина», если «истина», если датчик цвета обнаруживает объект, и «ложь», если датчик этого не делает. Чтобы узнать больше о логических блоках, посетите статью Помощь или формы блоков и их значение.

 

Проект VEXcode IQ Blocks, в котором используется датчик цвета для движения вперед до тех пор, пока не будет обнаружен объект. Проект гласит: «При запуске двигайтесь вперед, подождите, пока Color3 обнаружит объект, а затем остановитесь».

В этом примере блок <Found an object> используется для обнаружения близости вместе с блоком [Подождать, пока] чтобы заставить робота двигаться вперед до тех пор, пока не будет обнаружен объект.

VEXcode IQ Color обнаруживает блок, который считывает Color3, обнаруживает зеленый цвет?

Блок <Color detects> также является логическим блоком репортера, который сообщает об истинном или ложном условии. Блок <Color detects> сообщает «истина», если «истина», если датчик цвета обнаруживает выбранный цвет, и «ложь», если датчик обнаруживает любой другой цвет. Чтобы узнать больше о логических блоках, посетите статью Помощь или формы блоков и их значение.

 

Проект VEXcode IQ блокирует использование датчика цвета для движения вперед до тех пор, пока не будет обнаружен зеленый цвет. Проект гласит: «При запуске двигайтесь вперед, подождите, пока Color3 не обнаружит зеленый свет, а затем остановитесь».

В этом примере блок <Color detects> используется вместе с блоком [Подождать, пока] чтобы заставить робота двигаться вперед до тех пор, пока датчик цвета не обнаружит зеленый объект. После этого робот прекратит движение. Это показано в первом видео выше.

VEXcode IQ Яркость блока, который считывает яркость Color3 в %.

Блок (Яркость) сообщает количество света, обнаруженное датчиком цвета. Это репортерный блок, используемый внутри других блоков с круглыми пробелами.

Блок (Яркость) сообщает диапазон от 0% до 100%.

 

Проект блоков VEXcode IQ, в котором для отслеживания отмеченной линии используется направленный вниз датчик цвета. Проект гласит: При запуске установите яркость Color3 на 25%. Далее, если яркость Color3 в % больше 25, то вращаем LeftMotor вперед на 35 градусов, в противном случае вращаем RightMotor вперед на 35 градусов.

В этом примере блок (Яркость) используется для того, чтобы робот обнаруживал линию и следовал ей, как показано во втором видео выше.

VEXcode IQ Оттенок блока, который считывает оттенок Color3 в градусах.

Блок (Оттенок) сообщает оттенок цвета, обнаруженный датчиком цвета. Это репортерный блок, используемый внутри других блоков с круглыми пробелами.

Блок (Яркость) сообщает диапазон от 0 до 360.

 

Проект блоков VEXcode IQ, в котором используется оптический датчик для движения вперед до тех пор, пока не достигнет объекта, а затем поворот направо, если он красный, или налево, если нет. Проект гласит: При запуске выведите оттенок Color3 в градусах на Brain, двигайтесь вперед, а затем ждите, пока Color3 не найдет объект. Если оттенок Color3 в градусах больше 330, а оттенок Color3 в градусах меньше 30, то поверните направо на 90 градусов, в противном случае поверните налево на 90 градусов.

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

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

Кодирование датчика цвета на Python

Примечание:Чтобы запрограммировать бамперный переключатель VEX IQ (1-го поколения) на Python, его необходимо подключить к мозгу VEX IQ (2-го поколения). Мозг VEX IQ (1-го поколения) не поддерживает Python.

цвет_3.is_near_object()

Команда color.is_near_object сообщает True , когда датчик цвета обнаруживает объект или поверхность рядом с передней частью датчика, и False , когда датчик цвета а не обнаруживает объект или поверхность, расположенную близко к передней части датчика. датчик.

Примечание:Имя датчика цвета, отображаемое в команде, соответствует имени, заданному в конфигурации. 

drivetrain.drive(FORWARD)
пока не color_3.is_near_object():
ожидание(20, MSEC)
drivetrain.stop()
В этом примере циклWhile с условием , а не используется с командой color.is_near_object , чтобы заставить робота двигаться вперед до тех пор, пока датчик цвета не обнаружит объект, расположенный близко к передней части робота. датчик.
цвет_3.цвет()

Команда color.color сообщает цвет, который в данный момент обнаруживается цветным датчиком.

drivetrain.drive(FORWARD)
пока не color_3.GREEN():
wait(20, MSEC)
drivetrain.stop()
В этом примере циклWhile с условием not используется с командой 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 используется для того, чтобы робот обнаружил линию и следовал ей, как показано во втором видео выше.
цвет_3.оттенок()

Команда color.hue сообщает оттенок цвета, обнаруженный датчиком цвета. Он сообщает диапазон значений оттенка от 0 до 360.

brain.screen.print(color_3.hue())
drivetrain.drive(FORWARD)
while not color_3.is_near_object():
wait(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain.turn_for(RIGHT, 90, DEGREES)
else:
drivetrain.turn_for(LEFT, 90, DEGREES)

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

Команда color.hue может быть полезна, когда роботу необходимо обнаружить определенные цвета, когда условия окружающего освещения могут быть непостоянными.

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

Last Updated: