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. gen) Krāsu sensora gabals.

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

Vai izmantojat 2. paaudzes VEX IQ robotu? Skatiet pārskatu par 2. paaudzes sensoriem š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 uztvert dažāda veida informāciju no apkārtējās vides. Tā apkopoto informāciju ietekmē vides apgaismojuma apstākļi, kā arī attālums starp sensoru un objektu vai virsmu, ko tas nolasa.


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


Kā darbojas krāsu sensors

Krāsu sensors var noteikt gan krāsu, gan tuvumu.

Krāsu noteikšana

VEXcode IQ Bloka spilgtums, kas nolasa Color3 spilgtumu %.

Krāsu sensora diagramma, kas nosaka spilgtu virsmu un ziņo par vērtību 80%, pēc tam nosaka tumšu virsmu un ziņo par vērtību 20%.

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 Iestatiet krāsu sensora gaismas bloku, kas nolasa Iestatīt Color3 gaismu uz 50%.

Krāsu sensors, kas pievienots robotam tumšā vidē. Krāsu sensora lampiņa ir 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, kas lasa Color3 krāsas nosaukumu. Otrais ir bloka nokrāsa, kas grādos nolasa Color3 nokrāsu. Trešais ir Krāsu noteikšanas bloks, kas nolasa Color3 neatklāj 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.

VEXcode IQ Color nosaka bloku, kas nolasa Color3 neatklāj nevienu? Tiek atvērta bloka Krāsu nolaižamā izvēlne, lai parādītu to uztveramo krāsu sarakstu. Sarakstā ir rakstīts oranžs, violets, sarkans violets, violets, zils violets, zils zaļš, dzeltens zaļš, dzeltens oranžs un sarkans oranžs.

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 ir 0, zaļā krāsa ir 120, bet zilā krāsa ir 240.

Nokrāsu vērtības.Nokrāsu vērtības ir līdzīgas krāsu vērtībām, taču tās ir 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 (sauktu arī par kalibrēšanu) savu krāsu sensoru dažādos apgaismojuma līmeņos un ar dažādu līmeņu lampu, lai noteiktu, kurš ir visdrošākais iestatījums jūsu robota krāsu sensoram.

Tuvuma noteikšana

Krāsu sensors ietver infrasarkano staru sensoru-emiteri. Infrasarkanais starotājs izstaro neredzamu gaismu un pēc tam nosaka tās atspulgu. Ja lielākā daļa infrasarkanās gaismas atlec atpakaļ pret sensoru, tas paziņo robota smadzenēm, ka objekts ir tuvu.

VEXcode IQ Vai atradāt objektu bloku, kas nolasa 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 lietojumi ietver:

  • Š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, sauktu arī par kalibrēšanu, savu krāsu sensoru katru reizi, kad ierodaties jaunā sacensību vietā, jo dažādi gaismas līmeņi var ietekmēt jūsu krāsu sensora darbību. Pārbaudiet savu projektu ar lampu, kas iestatīta 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 konkurētspējīgu 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 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)
bet nav color_3.is_near_object():
gaidiet(20, MSEC)
drivetrain.stop()
Šajā piemērākamēr cilpa ar nosacījumu nevis tiek izmantota ar komandu color.is_near_object , lai liktu robotam braukt uz priekšu, līdz krāsu sensors nosaka objektu tuvu priekšpusei. sensors.
krāsa_3.krāsa()

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

drivetrain.drive(FORWARD)
bet nav color_3.GREEN():
gaida(20, MSEC)
drivetrain.stop()
Šajā piemērā cilpa, kamēr ar nosacījumu , nevis tiek izmantota ar komandu color.color , lai robots brauktu 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š.
krāsa_3.spilgtums()

Komanda color.brightness ziņo par krāsu sensora noteikto gaismas daudzumu. Tas parāda 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 konstatē gaismu, tad robots pārvietosies pa kreisi
LeftMotor.spin_for(FORWARD, 35, DEGREES)
else:
# Ja krāsu sensors noteiks tumsu7
RightMotor.spin_for(FORWARD, 35, DEGRES)
gaida(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)
bet nav color_3.is_near_object():
gaidiet(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain.drave(FORWARD
drivetrain.turn_for(PA 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: