Izmantojot VEX IQ (1. paaudzes) krāsu sensoru

Krāsu sensors izmanto atstaroto gaismu, lai noteiktu objekta krāsu, nokrāsas vērtību, pelēktoņu vērtību, spilgtumu un tuvumu.

VEX IQ (1. paaudzes) krāsu sensora detaļa.

VEX IQ krāsu sensors ir iekļauts VEX IQ Super komplektā, un var iegādāties arī.

Vai izmantojat otrās paaudzes VEX IQ robotu? Skatiet 2. paaudzes sensoru pārskatu šeitun informāciju par optisko sensoru— krāsu sensora 2. paaudzes versiju.


Krāsu sensora apraksts

VEX IQ krāsu sensoram ir vairāki režīmi, kas ļauj tam uztvert dažāda veida informāciju no apkārtējās vides. Apkopoto informāciju ietekmē apkārtējās vides apgaismojums, kā arī attālums starp sensoru un objektu vai virsmu, ko tas nolasa.


Krāsu aplis, kas parāda, kā 360 grādu aplis korelē ar nokrāsas vērtību. Sarkanā krāsa atrodas 0 grādos, zaļā krāsa ir 120 grādos, bet zilā krāsa ir 240 grādos.


Kā darbojas krāsu sensors

Krāsu sensors spēj noteikt gan krāsu, gan tuvumu.

Krāsu noteikšana
VEXcode IQ bloka spilgtums, kas rāda Color3 spilgtumu procentos.
Krāsu sensora diagramma, kas uztver spilgtu virsmu un ziņo par 80% vērtību, un pēc tam uztver tumšu virsmu un ziņo par 20% vērtību.

Spilgtuma režīmā krāsu sensors tiek izmantots, lai noteiktu visas gaismas intensitāti robota vidē. Jo vairāk gaismas sasniedz krāsu sensoru, kamēr tas ir aktīvs, jo lielāka procentuālā vērtība, kas tiek nosūtīta uz robota smadzenēm.

VEXcode IQ Iestatīt krāsu sensora gaismas bloku, kurā rakstīts Iestatiet Color3 gaismu uz 50%.
Krāsu sensors, kas piestiprināts robotam tumšā vidē. Krāsu sensora lampa tiek ieslēgta, lai apgaismotu apkārtni.

Ja noteiktais spilgtuma procents ir zems vai neuzticams, var ieslēgt krāsu sensora lampu vai palielināt lampas spilgtuma procentuālo daudzumu, bloķēšanai izmantojot šādu iestatīto gaismu:

Trīs VEXcode IQ krāsu sensoru bloki. Pirmais ir bloka krāsa, kurā ir norādīts krāsas nosaukums Color3. Otrais ir bloka Hue (Hune), kas nolasa Color3 (Color3) nokrāsu grādos. Trešais ir Krāsu noteikšanas bloks, kurā ir rakstīts: Vai Krāsa3 neatpazīst nevienu?

Krāsu sensors var ziņot par krāsu, ko tas redz kā krāsas vērtību vai kā nokrāsas vērtību.

Vai VEXcode IQ Color atpazīst bloku, kurā ir rakstīts Color3, vai ne? Tiek atvērta bloka nolaižamā izvēlne Krāsa, lai parādītu krāsu sarakstu, kuras tas uztver. Sarakstā ir oranža, violeta, sarkanvioleta, violeta, zili violeta, zili zaļa, dzeltenzaļa, dzeltenoranža un sarkanoranža krāsa.

Krāsu vērtības.Ir norādītas 14 krāsas, kuras krāsu sensors var noteikt. Bloka attēlā trūkstošās krāsas ir sarkana, zaļa, zila, balta un dzeltena.

Nokrāsas vērtību diagramma, kas parāda, kā 360 grādi korelē ar nokrāsas vērtību. Sarkanā krāsa atrodas 0 grādos, zaļā krāsa ir 120 grādos, bet zilā krāsa ir 240 grādos.

Nokrāsas vērtības.Nokrāsas vērtības ir līdzīgas krāsu vērtībām, bet skaitliskas. Nokrāsas vērtība svārstās no 0 līdz 360, piemēram, grādiem. Iepriekš uzskaitītajām krāsu vērtībām ir savi līdzvērtīgi toņu vērtību diapazoni. 

Nosakot krāsas un nokrāsas, ir svarīgi, lai krāsu sensoram būtu pietiekams gaismas daudzums. Noteikti pārbaudiet jeb kalibrējiet krāsu sensoru dažādos apgaismojuma līmeņos un ar lampu, kas iestatīta uz dažādiem līmeņiem, lai noteiktu, kurš ir visuzticamākais iestatījums jūsu robota krāsu sensoram.

Tuvuma noteikšana

Krāsu sensors ietver infrasarkano staru sensoru-emitētāju. Infrasarkanais starojums izstaro neredzamu gaismu un pēc tam uztver tās atstarošanos. Ja lielākā daļa infrasarkanās gaismas atstarojas atpakaļ sensora virzienā, tas robota smadzenēm norāda, ka objekts atrodas tuvumā.

Vai VEXcode IQ atrada objekta bloku, kurā redzams, ka Color3 ir tuvu objektam?

Krāsu sensora biežākie lietojumi

Krāsu sensori tiek izmantoti daudzās tehnoloģiju lietojumprogrammās, kur ir svarīgi, lai displejos vai produktos būtu noteiktas krāsas.

Daži izplatīti lietojumi ikdienas dzīvē ietver:

  • Krāsu kalibrēšanas rīki pārbauda, ​​vai digitālais ekrāns parāda precīzas krāsas, un pēc tam pielāgojiet displeja iestatījumus pēc vajadzības. Ir svarīgi, lai grafiķi un jebkurš dizaineris, kas strādā ar krāsām uz digitālā ekrāna, varētu redzēt tieši pareizo krāsu, kas tiek parādīta. Ja krāsas nav precīzas, rodas pārpratumi un izšķiesti resursi.
  • Kameras un videokameras izmanto krāsu sensorus, lai pielāgotu iestatījumus atkarībā no apgaismojuma apstākļiem, lai uzlabotu fotoattēlus un videoklipus, maksimāli palielinot apgaismojuma līmeni un uzlabojot citādi blāvas krāsas. Šie sensori arī ļauj fotogrāfam fokusēties uz konkrētām krāsām savos fotoattēlos.
  • Ražošanā dažkārt izmanto krāsu sensorus, lai ātri pārbaudītu, vai produktam ir pareizā krāsa, pirms tas tiek nosūtīts klientam. Piemēram, augļus un dārzeņus, kas nogatavojušies vai gatavi ēšanai krāsojas, var skenēt, lai pārliecinātos, ka tie ir pareizajā krāsā, lai tos nosūtītu uz tirgu. 


Daži izplatīti VEX IQ robota lietošanas veidi ir šādi:

  • Šo sensoru var izmantot, lai noteiktu objekta krāsu. Skatiet šo animāciju, lai redzētu, kā robots brauc uz priekšu, līdz krāsu sensors nosaka zaļo kubu.

  • Šo sensoru var izmantot, lai noteiktu līniju un/vai sekotu tai. Skatiet šo animāciju, lai redzētu robotu, kas izmanto krāsu sensoru, lai brauktu pa iezīmētu līniju.

  • Šis sensors var noteikt, vai tuvumā atrodas objekts.

Krāsu sensori uz sacensību robota

Atcerieties, ka, nosakot krāsas un nokrāsas, ir svarīgi, lai krāsu sensoram būtu pietiekams gaismas daudzums. Noteikti pārbaudiet jeb kalibrējiet krāsu sensoru katru reizi, kad ierodaties jaunā sacensību vietā, jo dažādi apgaismojuma līmeņi var ietekmēt krāsu sensora darbību. Pārbaudiet savu projektu ar lampu dažādos līmeņos, lai noteiktu, kurš ir visuzticamākais iestatījums jūsu robota krāsu sensoram. 

Krāsu sensora apkopotā informācija ir noderīga, lai programmētu sacensību robotu, lai tas reaģētu uz dažādiem apstākļiem. Krāsu sensors var uzlabot sacensību robotu šādos veidos:

  • Tas ļauj robotam noteikt sensora tuvumā esošā objekta krāsu. Tas ir noderīgi, ja vēlaties, lai robots kārtotu dažādu krāsu objektus, piebrauktu līdz īpašas krāsas objektam vai noteiktu objektu krāsu, kad tie iet garām sensoram.
  • Tas ļauj robotam noteikt, cik daudz gaismas atstarojas atpakaļ sensorā. Tas ļauj jūsu robotam braukt, līdz tas sasniedz līniju uz virsmas, vai pat sekot līnijai.
  • Tas ļauj robotam zināt, vai tuvumā atrodas objekts vai virsma. Tas ir noderīgi, lai noteiktu, vai noteiktā krāsa ir nolasījums no tuvumā esoša objekta vai, iespējams, anomāls attālas virsmas vai gaismas nolasījums. 

Krāsu sensora kodēšana blokos

VEXcode IQ Vai atradāt objektu bloku, kas nolasa Color3 ir tuvu objektam?

<Found an object>  bloks ir Būla reportiera bloks, kas ziņo par nosacījumu kā patiesu vai nepatiesu. Būla bloki, piemēram, <Found an object>  bloki, iederas blokos ar sešstūrainu (sešpusēju) ievadi citiem blokiem.

<Found an object> Būla bloks ziņo par “true”, ja “patiess”, ja krāsu sensors nosaka objektu, un “false”, ja sensors to nedara. Lai uzzinātu vairāk par Būla blokiem, apmeklējiet rakstu palīdzība vai bloku formas un nozīme.

 

VEXcode IQ bloķē projektu, kas izmanto krāsu sensoru, lai virzītos uz priekšu, līdz atrod objektu. Projekts skan Kad sākts, brauciet uz priekšu, pagaidiet, līdz Color3 atrod objektu, un pēc tam pārtrauciet braukšanu.

Šajā piemērā bloks <Found an object> tiek izmantots, lai noteiktu tuvumu kopā ar bloku [Pagaidiet], lai robots brauktu uz priekšu, līdz tiek atklāts objekts.

VEXcode IQ Color nosaka bloku, kas nolasa Color3 nosaka zaļo?

<Color detects>  bloks ir arī Būla reportiera bloks, kas ziņo par nosacījumu kā patiesu vai nepatiesu. <Color detects> bloks ziņo par “true”, ja “true”, ja krāsu sensors nosaka atlasīto krāsu, un “false”, ja sensors nosaka jebkuru citu krāsu. Lai uzzinātu vairāk par Būla blokiem, apmeklējiet rakstu palīdzība vai bloku formas un nozīme.

 

VEXcode IQ bloķē projektu, kas izmanto krāsu sensoru, lai virzītos uz priekšu, līdz tas nosaka zaļo krāsu. Projekts skan Kad sākts, brauciet uz priekšu, pagaidiet, līdz Color3 nosaka zaļo krāsu, un pēc tam pārtrauciet braukšanu.

Šajā piemērā bloks <Color detects> tiek izmantots kopā ar bloku [Pagaidiet, līdz], lai liktu robotam braukt uz priekšu, līdz krāsu sensors nosaka zaļu objektu. Pēc tam robots pārtrauks braukt. Tas ir parādīts pirmajā videoklipā iepriekš.

VEXcode IQ Bloka spilgtums, kas nolasa Color3 spilgtumu %.

Blokā (Brightness of) tiek ziņots par krāsu sensora noteikto gaismas daudzumu. Tas ir reportieris, ko izmanto citos blokos ar apļveida atstarpēm.

Blokā (Brightness of) tiek rādīts diapazons no 0% līdz 100%.

 

VEXcode IQ bloķē projektu, kas izmanto uz leju vērstu krāsu sensoru, lai sekotu iezīmētai līnijai. Projekts skan Uzsākot, iestatiet Color3 gaismu uz 25%. Pēc tam uz visiem laikiem, ja Color3 spilgtums procentos ir lielāks par 25, pagrieziet LeftMotor uz priekšu par 35 grādiem, pretējā gadījumā pagrieziet RightMotor uz priekšu par 35 grādiem.

Šajā piemērā bloks (Brightness of) tiek izmantots, lai robots noteiktu līniju un sekotu tai, kā parādīts otrajā videoklipā iepriekš.

VEXcode IQ Bloka nokrāsa, kas nolasa Color3 nokrāsu grādos.

Blokā (Hue of) tiek ziņots par krāsu sensora noteikto krāsas nokrāsu. Tas ir reportieris, ko izmanto citos blokos ar apļveida atstarpēm.

Blokā (Brightness of) tiek rādīts diapazons no  0 līdz 360.

 

VEXcode IQ bloķē projektu, kas izmanto optisko sensoru, lai brauktu uz priekšu, līdz tas sasniedz objektu, un pēc tam pagriezieties pa labi, ja tas ir sarkans, vai pa kreisi, ja tā nav. Projekts skan Kad sākts, izdrukājiet Color3 nokrāsu grādos uz Brain, brauciet uz priekšu un pēc tam pagaidiet, līdz Color3 atrada objektu. Ja Color3 nokrāsa grādos ir lielāka par 330 un Color3 nokrāsa grādos ir mazāka par 30, tad pagriezieties pa labi par 90 grādiem, pretējā gadījumā pagriezieties pa kreisi par 90 grādiem.

Šajā piemērā bloks (Hue of) tiek izmantots, lai robots pārbaudītu toņu vērtību diapazonu, kas atbilst sarkanajai krāsai, un pagrieztos pa labi par 90 grādiem, ja sensors nosaka šīs vērtības. Ja tiek noteiktas citas nokrāsas vērtības, robots pagriezīsies pa kreisi par 90 grādiem.

Bloks (Hue of) var būt noderīgs, ja robotam ir nepieciešams noteikt noteiktas krāsas, kad apkārtējā apgaismojuma apstākļi var būt nekonsekventi.

Krāsu sensora kodēšana programmā Python

Piezīme:Lai Python valodā kodētu VEX IQ (1. paaudzes) bufera slēdzi, tam jābūt savienotam ar VEX IQ (2. paaudzes) smadzenēm. VEX IQ (1. paaudzes) smadzenes neatbalsta Python.

color_3.is_near_object()

Komanda color.is_near_object ziņo par Patiesi , ja krāsu sensors nosaka objektu vai virsmu tuvu sensora priekšpusei, un Nepareizi , ja krāsu sensors objektu vai virsmu tuvu sensora priekšpusei sensors.

Piezīme:Krāsu sensora nosaukums, kas parādās komandā, atbilst nosaukumam, kas ir norādīts konfigurācijā. 

drivetrain.drive(FORWARD)
kamēr nav color_3.is_near_object():
wait(20, MSEC)
drivetrain.stop()
Šajā piemērā tiek izmantots ciklsWhile ar nosacījumu not kopā ar komandu color.is_near_object , lai robots virzītos uz priekšu, līdz krāsu sensors nosaka objektu sensora priekšpusē.
krāsa_3.krāsa()

Komanda color.color ziņo par krāsu, ko pašlaik nosaka krāsu sensors.

drivetrain.drive(FORWARD)
kamēr nav color_3.GREEN():
    wait(20, MSEC)
drivetrain.stop()
Šajā piemērā tiek izmantotsWhile cikls ar , nevis nosacījumu kopā ar komandu color.color , lai robots virzītos uz priekšu, līdz krāsu sensors atrod zaļu objektu. Pēc tam robots pārtrauks braukt. Tas ir ilustrēts pirmajā iepriekš redzamajā videoklipā.
krāsa_3.spilgtums()

Komanda color.brightness ziņo par krāsu sensora uztvertās gaismas daudzumu. Tas ziņo par vērtību diapazonu no 0% līdz 100%.

color_3.set_light(25, PERCENT)
    while True:
        if color_3.brightness() > 25:
            # Ja krāsu sensors uztver gaismu, robots pārvietosies pa kreisi
            LeftMotor.spin_for(FORWARD, 35, DEGREES)
        else:
            # Ja krāsu sensors uztver tumsu, robots pārvietosies pa labi
            RightMotor.spin_for(FORWARD, 35, DEGREES)
        wait(20, MSEC)
Šajā piemērā komanda color.brightness tiek izmantota, lai robots noteiktu līniju un sekotu tai, kā parādīts otrajā videoklipā iepriekš.
color_3.hue()

Komanda color.hue ziņo par krāsu sensora noteikto krāsas nokrāsu. Tas ziņo par nokrāsu vērtību diapazonu no  0 līdz 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(LABI, 90, GRĀDI)
else:
    drivetrain.turn_for(KREISI, 90, GRĀDI)

Šajā piemērā komanda color.hue tiek izmantota, lai robots pārbaudītu toņu vērtību diapazonu, kas atbilst sarkanajai krāsai, un pagrieztos pa labi par 90 grādiem, ja sensors nosaka šīs vērtības. Ja tiek noteiktas citas nokrāsas vērtības, robots pagriezīsies pa kreisi par 90 grādiem.

Komanda color.hue var būt noderīga, ja robotam ir nepieciešams noteikt noteiktas krāsas, kad apkārtējā apgaismojuma apstākļi var būt nekonsekventi.

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

Last Updated: