VEX IQ (1-ші буын) Түс сенсорын пайдалану

Түс сенсоры нысанның түсін, реңк мәнін, сұр реңк мәнін, жарықтығын және жақындығын анықтау үшін шағылысқан жарықты пайдаланады.

VEX IQ (1-ші буын) түс сенсоры.

VEX IQ түс сенсоры VEX IQ Super жинағына кіреді және оны осы жерден сатып алуға болады.

Екінші буын VEX IQ роботын пайдаланып жатырсыз ба? 2-ші буын сенсорларына шолуды осы жерденжәне түс сенсорының 2-ші буын нұсқасы -ші оптикалық сенсортуралы ақпаратты қараңыз.


Түс сенсорының сипаттамасы

VEX IQ түс сенсорының бірнеше режимі бар, бұл оған қоршаған ортадан әртүрлі ақпаратты алуға мүмкіндік береді. Ол жинайтын ақпарат қоршаған ортаның жарықтандыру жағдайларына, сондай-ақ сенсор мен ол оқып жатқан зат немесе бет арасындағы қашықтыққа әсер етеді.


360 градустық шеңбердің реңк мәнімен қалай байланысты екенін көрсететін түсті дөңгелек. Қызыл түс 0 градуста, жасыл түс 120 градуста, ал көк түс 240 градуста.


Түс сенсоры қалай жұмыс істейді

Түс сенсоры түсті де, жақындықты да анықтай алады.

Түстерді анықтау
VEXcode IQ 3 түсті жарықтықты % көрсеткішімен көрсететін блоктың жарықтығы.
Түс сенсорының диаграммасы ашық бетті анықтап, 80% мәнін, содан кейін күңгірт бетті анықтап, 20% мәнін хабарлайды.

Жарықтық режимінде болғанда, Түс сенсоры роботтың ортасындағы барлық жарықтың қарқындылығын анықтау үшін пайдаланылады. Белсенді кезде Түс сенсорына неғұрлым көп жарық түссе, робот миына жіберілетін пайыздық мән соғұрлым жоғары болады.

VEXcode IQ Түс сенсорының жарық блогын Set Color3 жарығын 50%-ға орнатыңыз.
Қараңғы ортада роботқа бекітілген түс сенсоры көрсетілген. Түс сенсорының шамы айналаны жарықтандыру үшін қосылады.

Анықталған жарықтық пайызы төмен немесе сенімсіз болса, Түс сенсорының шамын қосуға немесе шамның жарықтық пайызын блоктау үшін келесі орнатылған шамды пайдалану арқылы арттыруға болады:

VEXcode IQ түсті сенсорының үш блогы. Біріншісі - 3-ші түс атауын оқитын блоктың түсі. Екіншісі - Color3 реңкін градуспен оқитын блок реңкі. Үшіншісі - Color3 ештеңені анықтамайды деп оқитын Color detects блогы?

Түс сенсоры түс мәні немесе реңк мәні ретінде көретін түсті хабарлай алады.

VEXcode IQ Color функциясы Color3 функциясын оқитын блокты анықтайды, ол ешқандай блокты анықтамай ма? Блоктың Түс ашылмалы мәзірі сезілетін түстер тізімін көрсету үшін ашылады. Тізімде қызғылт сары, күлгін, қызыл күлгін, күлгін, көк күлгін, көк жасыл, сары жасыл, сары қызғылт сары және қызыл қызғылт сары түстер бар.

Түс мәндері.Түс сенсоры анықтай алатын тізімде 14 түс бар. Блок кескінінде жетіспейтін түстер қызыл, жасыл, көк, ақ және сары.

360 градустың реңк мәнімен қалай корреляцияланатынын көрсететін реңк мәнінің диаграммасы. Қызыл түс 0 градуста, жасыл түс 120 градуста, ал көк түс 240 градуста.

Реңк мәндері.Реңк мәндері түс мәндеріне ұқсас, бірақ сандық. Реңк мәні градус сияқты 0 мен 360 аралығында болады. Жоғарыда тізімделген түс мәндерінің өздерінің баламалы реңк мәндерінің ауқымдары бар. 

Түстер мен реңктерді анықтаған кезде, түс сенсорында тиісті жарық мөлшерінің болуы маңызды. Роботыңыздың түс сенсоры үшін ең сенімді параметрді анықтау үшін түс сенсорын әртүрлі жарық деңгейлерінде және шам әртүрлі деңгейлерде орнатылған күйде тексеріп, калибрлеуді ұмытпаңыз.

Жақындықты анықтау

Түс сенсоры инфрақызыл сәулелену сенсорын қамтиды. Инфрақызыл сәуле шығарғыш көрінбейтін жарық шығарады, содан кейін оның шағылысуын анықтайды. Егер инфрақызыл сәуленің көп бөлігі сенсорға қарай кері шағылса, ол робот миына нысанның жақын екенін хабарлайды.

VEXcode IQ Color3 нысанның жанында деп оқитын нысан блогын таптыңыз ба?

Түс сенсорының жалпы пайдаланулары

Түс сенсорлары дисплейлерде немесе өнімдерде белгілі бір түстердің болуы маңызды болатын көптеген технологиялық қолданбаларда қолданылады.

Күнделікті өмірде жиі қолданылатын кейбір нәрселерге мыналар жатады:

  • Түсті калибрлеу құралдары сандық экранның нақты түстерді көрсететінін тексереді, содан кейін дисплей параметрлерін қажетінше реттейді. Сандық экранда түстермен жұмыс істейтін графикалық суретшілер мен кез келген дизайнер үшін көрсетілген дұрыс түсті дәл көре алуы маңызды. Түстер дәл болмаған кезде түсінбеушілік және бос ресурстар пайда болады.
  • Фотокамералар мен бейнекамералар жарық деңгейлерін ұлғайту және басқаша күңгірт түстерді жақсарту арқылы фотосуреттер мен бейнелерді жақсарту үшін олардағы жарық жағдайларына негізделген параметрлерді реттеу үшін түс сенсорларын пайдаланады. Бұл сенсорлар фотографқа фотосуреттеріндегі белгілі бір түстерге назар аударуға мүмкіндік береді.
  • Түс сенсорлары кейде өндірісте тұтынушыға жөнелтілгенге дейін өнімнің дұрыс түсі бар-жоғын жылдам тексеру үшін пайдаланылады. Мысалы, піскен немесе жеуге дайын болған кезде түсі өзгеретін жемістер мен көкөністердің нарыққа жіберу үшін дұрыс түс екеніне көз жеткізу үшін сканерлеуге болады. 


VEX IQ роботын қолданудың кейбір кең таралған тәсілдері:

  • Бұл сенсорды нысанның түсін анықтау үшін пайдалануға болады. Түс сенсоры жасыл текшені анықтағанша роботтың алға қарай қозғалуын көру үшін осы анимацияны қараңыз.

  • Бұл сенсорды сызықты анықтау және/немесе қадағалау үшін пайдалануға болады. Белгіленген сызық бойымен жүру үшін Түс сенсорын пайдаланатын роботты көру үшін осы анимацияны қараңыз.

  • Бұл сенсор объектінің жақын екенін анықтай алады.

Жарыс роботындағы түс сенсорлары

Есіңізде болсын, түстер мен реңктерді анықтаған кезде түс сенсорында тиісті жарық мөлшерінің болуы маңызды. Жарыс алаңына келген сайын түс сенсорын тексеріп отырыңыз, оны калибрлеу деп те атаңыз, себебі жарықтың әртүрлі деңгейлері түс сенсорының жұмысына әсер етуі мүмкін. Роботыңыздың түс сенсоры үшін ең сенімді параметрді анықтау үшін жобаңызды шамды әртүрлі деңгейлерде орнатып сынап көріңіз. 

Түс сенсоры жинаған ақпарат бәсекелес роботты әртүрлі жағдайларға жауап беру үшін бағдарламалау үшін пайдалы. Түс сенсоры жарыс роботын келесі жолдармен жақсарта алады:

  • Ол роботқа сенсордың жанындағы нысанның түсін анықтауға мүмкіндік береді. Бұл роботтың әртүрлі түсті нысандарды сұрыптауын, арнайы түсті нысанға дейін апаруын немесе сенсордың жанынан өтіп бара жатқан заттардың түсін анықтауын қаласаңыз пайдалы.
  • Ол роботқа сенсорға қанша жарық шағылысқанын анықтауға мүмкіндік береді. Бұл сіздің роботыңызға беттегі сызыққа жеткенше немесе тіпті сызық бойымен жүруге мүмкіндік береді.
  • Ол роботқа заттың немесе беттің жақын екенін білуге ​​мүмкіндік береді. Бұл анықталған түстің жақын жердегі объектінің көрсеткіші ме, әлде алыстағы беттің немесе жарықтың аномальді көрсеткіші екенін анықтауға көмектеседі. 

Түс сенсорын блоктарда кодтау

VEXcode IQ Түс3 объектінің жанында деп оқитын нысан блогын таптыңыз ба?

<Found an object> блогы шартты ақиқат немесе жалған деп хабарлайтын логикалық репортер блогы болып табылады. <Found an object> блогы сияқты логикалық блоктар басқа блоктар үшін алтыбұрышты (алты жақты) кірістері бар блоктардың ішіне орналасады.

<Found an object> логикалық блогы Түс сенсоры нысанды анықтаса, «шын» болса, «шын» деп хабарлайды, ал сенсор анықтамаса, «жалған» деп хабарлайды. Логикалық блоктар туралы қосымша ақпарат алу үшін Анықтама немесе Блок пішіндері мен мағынасы мақаласына кіріңіз.

 

VEXcode IQ нысанды тапқанша алға жылжыту үшін Түс сенсорын пайдаланатын жобаны блоктайды. Жоба іске қосылғанда, алға қарай жүріңіз, Color3 нысанды тапқанша күтіңіз, содан кейін жүргізуді тоқтатыңыз деп оқиды.

Бұл мысалда роботты объект анықталғанша алға жылжыту үшін [Wait until] блогымен бірге жақындықты анықтау үшін <Found an object> блогы пайдаланылады.

VEXcode IQ Color түсін оқитын блокты анықтайды3 жасыл түсті анықтайды?

<Color detects> блогы сонымен қатар шартты ақиқат немесе жалған деп хабарлайтын логикалық репортер блогы болып табылады. Түс сенсоры таңдалған түсті анықтаса, «шын» болса, <Color detects> блогы «шын» және сенсор кез келген басқа түсті анықтаса, «жалған» деп хабарлайды. Логикалық блоктар туралы қосымша ақпарат алу үшін Анықтама немесе Блок пішіндері мен мағынасы мақаласына кіріңіз.

 

VEXcode IQ жасыл түсті анықтағанша алға жылжыту үшін Түс сенсорын пайдаланатын жобаны блоктайды. Жоба іске қосылғанда, алға қарай жүріңіз, Color3 жасыл түсті анықтағанша күтіңіз, содан кейін жүргізуді тоқтатыңыз.

Бұл мысалда Түс сенсоры жасыл нысанды анықтағанша роботты алға жылжыту үшін <Color detects> блогы [Күту] блогымен бірге пайдаланылады. Содан кейін робот жүргізуді тоқтатады. Бұл жоғарыдағы бірінші бейнеде көрсетілген.

VEXcode IQ Түс3 жарықтығын % түрінде оқитын блоктың жарықтығы.

(Жарықтық) блогы Түс сенсоры анықтаған жарық мөлшерін хабарлайды. Бұл дөңгелек кеңістіктері бар басқа блоктардың ішінде қолданылатын репортер блогы.

(Жарықтық) блогы 0% - 100% ауқымын хабарлайды.

 

VEXcode IQ белгіленген сызықты орындау үшін төмен қараған Түс сенсорын пайдаланатын жобаны блоктайды. Жоба іске қосылғанда, Color3 шамын 25% етіп орнатыңыз деп оқиды. Әрі қарай, мәңгілік, егер Color3 жарықтылығы % бойынша 25-тен жоғары болса, LeftMotor-ды 35 градусқа алға айналдырыңыз, әйтпесе RightMotor-ды 35 градусқа алға айналдырыңыз.

Бұл мысалда (Жарықтық) блогы роботтың жоғарыдағы екінші бейнеде көрсетілгендей сызықты анықтауы және жүруі үшін пайдаланылады.

VEXcode IQ Түс 3 реңкті градуспен оқитын блоктың реңктері.

(Реңк) блогы Түс сенсоры анықтаған түс реңкін хабарлайды. Бұл дөңгелек кеңістіктері бар басқа блоктардың ішінде қолданылатын репортер блогы.

(Жарықтық) блогы 0 мен 360 аралығындағы ауқымды хабарлайды.

 

VEXcode IQ объектіге жеткенше алға жылжыту үшін оптикалық сенсорды пайдаланатын жобаны блоктайды, содан кейін қызыл болса оңға немесе жоқ болса солға бұрылады. Жоба Іске қосылған кезде, Brain жүйесінде Color3 реңкін градуспен басып шығарыңыз, алға қарай жүріңіз, содан кейін Color3 нысанды тапқанша күтіңіз. Егер градустағы Түс3 реңк 330-дан жоғары болса және градустағы Түс3 реңк 30-дан аз болса, 90 градусқа оңға, әйтпесе 90 градусқа солға бұрылыңыз.

Бұл мысалда (Реңк) блогы роботтың қызыл түске сәйкес келетін реңк мәндерінің ауқымын тексеруі және сол мәндерді сенсор анықтаса, 90 градусқа оңға бұру үшін пайдаланылады. Кез келген басқа реңк мәндері анықталса, робот солға 90 градусқа бұрылады.

(Реңк) блогы қоршаған жарық жағдайлары сәйкес келмеуі мүмкін кезде роботқа белгілі бір түстерді анықтау қажет болғанда пайдалы болуы мүмкін.

Python тілінде түс сенсорын кодтау

Ескерту:Python тілінде VEX IQ (1-ші буын) Bumper Switch кодын жазу үшін ол VEX IQ (2-ші буын) Brain-ге қосылуы керек. VEX IQ (1-ші буын) миы 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()
Бұл мысалда, түс сенсоры сенсордың алдыңғы жағына жақын орналасқан нысанды анықтағанша роботты алға жылжыту үшін color.is_near_object командасымен бірге емес, шартыменWhile циклі қолданылады.
түс_3.түс()

color.color командасы түс сенсоры анықтап жатқан түсті хабарлайды.

drivetrain.drive(FORWARD)
, ал color_3.GREEN() емес:
    wait(20, MSEC)
drivetrain.stop()
Бұл мысалда, түс сенсоры жасыл нысанды анықтағанша роботты алға жылжыту үшін color.color командасымен бірге емес, шартыменWhile циклі қолданылады. Содан кейін робот жүргізуді тоқтатады. Бұл жоғарыдағы бірінші бейнеде көрсетілген.
түс_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(FORWARD)
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: