Naudojant VEX IQ (1-osios kartos) spalvų jutiklį

Spalvų jutiklis naudoja atspindėtą šviesą, kad aptiktų objekto spalvą, atspalvio vertę, pilkos spalvos reikšmę, ryškumą ir artumą.

VEX IQ (1-os kartos) spalvų jutiklis.

VEX IQ spalvų jutiklis yra įtrauktas į VEX IQ Super rinkinį ir jį taip pat galima įsigyti čia.

Naudojate 2-osios kartos VEX IQ robotą? Peržiūrėkite 2 kartos jutiklių apžvalgą čiair informaciją apie optinį jutiklį, 2 kartos spalvų jutiklio versiją.


Spalvų jutiklio aprašymas

VEX IQ spalvų jutiklis turi kelis režimus, kurie leidžia užfiksuoti įvairaus tipo informaciją iš aplinkos. Jo renkamai informacijai įtakos turi aplinkos apšvietimo sąlygos, taip pat atstumas tarp jutiklio ir objekto ar paviršiaus, kurį jis skaito.


Spalvų ratas, rodantis, kaip 360 laipsnių apskritimas koreliuoja su atspalvio reikšme. Raudonos spalvos laipsnis yra 0, žalia spalva yra 120, o mėlyna spalva yra 240.


Kaip veikia spalvų jutiklis

Spalvų jutiklis gali aptikti ir spalvą, ir artumą.

Spalvų aptikimas

VEXcode IQ Bloko ryškumas, nuskaitantis Color3 ryškumą procentais.

Diagrama, kurioje spalvų jutiklis aptinka šviesų paviršių ir praneša apie 80 % vertę, o po to aptinka tamsų paviršių ir praneša apie 20 % vertę.

Kai veikia ryškumo režimas, spalvų jutiklis naudojamas visos šviesos intensyvumui aptikti roboto aplinkoje. Kuo daugiau šviesos pasiekia spalvų jutiklį, kol jis aktyvus, tuo didesnė procentinė reikšmė siunčiama į roboto smegenis.

VEXcode IQ Nustatykite spalvų jutiklio šviesos bloką, nuskaitantį Nustatyti Color3 šviesą iki 50%.

Spalvų jutiklis, pritvirtintas prie roboto tamsioje aplinkoje. Spalvų jutiklio lemputė įjungiama, kad apšviestų aplinką.

Jei aptiktas ryškumo procentas yra mažas arba nepatikimas, galima įjungti spalvų jutiklio lemputę arba padidinti lempos ryškumo procentą, blokuojant šią nustatytą šviesą:

Trys VEXcode IQ Color Sensor blokai. Pirmasis yra bloko spalva, nuskaitanti Color3 spalvos pavadinimą. Antrasis yra bloko atspalvis, kuris nuskaito Color3 atspalvį laipsniais. Trečias – Color aptinka blokas, kuris nuskaito Color3 neaptinka nė vieno?

Spalvų jutiklis gali pranešti apie spalvą, kurią mato kaip spalvos reikšmę arba kaip atspalvio reikšmę.

VEXcode IQ Color aptinka bloką, kuris nuskaito Color3 neaptinka nė vieno? Atidaromas išskleidžiamasis bloko meniu Spalvos, kad būtų rodomas spalvų, kurias jis turi suvokti, sąrašas. Sąraše yra oranžinė, violetinė, raudona violetinė, violetinė, mėlyna violetinė, mėlyna žalia, geltona žalia, geltona oranžinė ir raudona oranžinė.

Spalvų reikšmės.Yra 14 spalvų, kurias spalvų jutiklis gali aptikti. Bloko paveikslėlyje trūksta spalvų: raudona, žalia, mėlyna, balta ir geltona.

Atspalvio vertės diagrama, rodanti, kaip 360 laipsnių koreliuoja su atspalvio reikšme. Raudonos spalvos laipsnis yra 0, žalia spalva yra 120, o mėlyna spalva yra 240.

Atspalvių reikšmės.Atspalvių reikšmės yra kaip spalvų reikšmės, bet skaitinės. Atspalvio reikšmė svyruoja nuo 0 iki 360, kaip ir laipsnių. Aukščiau išvardytos spalvų reikšmės turi savo lygiaverčius atspalvių verčių diapazonus. 

Aptinkant spalvas ir atspalvius svarbu, kad spalvų jutiklis turėtų tam reikalingą šviesos kiekį. Būtinai išbandykite, dar vadinamą kalibravimu, savo spalvų jutiklį esant įvairiems apšvietimo lygiams ir nustatydami lempą skirtingais lygiais, kad nustatytumėte, kuris jūsų roboto spalvų jutiklio nustatymas yra patikimiausias.

Artumo aptikimas

Spalvų jutiklyje yra infraraudonųjų spindulių jutiklis-spindulys. Infraraudonųjų spindulių spinduliuotė šviečia nematoma šviesa ir aptinka jos atspindį. Jei didžioji dalis infraraudonųjų spindulių atsimuša į jutiklį, ji praneša roboto smegenims, kad objektas yra arti.

VEXcode IQ Ar radote objekto bloką, kuris nuskaito Color3 yra šalia objekto?

Dažni spalvų jutiklio naudojimo būdai

Spalvų jutikliai naudojami daugelyje technologijų programų, kur svarbu turėti konkrečias spalvas ekranuose ar gaminiuose.

Kai kurie įprasti kasdieniame gyvenime naudojami šie:

  • Spalvų kalibravimo įrankiai patikrina, ar skaitmeninis ekranas rodo tikslias spalvas, tada prireikus pakoreguokite rodymo nustatymus. Svarbu, kad grafikai ir bet kuris dizaineris, dirbantis su spalvomis skaitmeniniame ekrane, galėtų tiksliai matyti rodomą tinkamą spalvą. Kai spalvos nėra tikslios, atsiranda nesusipratimų ir švaistomi ištekliai.
  • Fotoaparatai ir vaizdo kameros naudoja spalvų jutiklius, kad sureguliuotų nustatymus pagal apšvietimo sąlygas, kad būtų pagerintos nuotraukos ir vaizdo įrašai, padidinant apšvietimo lygį ir paryškinant kitaip nuobodžias spalvas. Šie jutikliai taip pat leidžia fotografui sutelkti dėmesį į konkrečias jų nuotraukų spalvas.
  • Gamyboje kartais naudojami spalvų jutikliai, siekiant greitai patikrinti, ar gaminio spalva yra tinkama prieš išsiunčiant klientui. Pavyzdžiui, vaisiai ir daržovės, kurie nusidažo, kai subrendę arba paruošti valgyti, gali būti nuskaityti, siekiant užtikrinti, kad jie būtų tinkamos spalvos, kad būtų galima siųsti į rinką. 


Kai kurie įprastiniai VEX IQ roboto naudojimo būdai:

  • Šis jutiklis gali būti naudojamas objekto spalvai aptikti. Peržiūrėkite šią animaciją, kad pamatytumėte, kaip robotas važiuoja į priekį, kol spalvų jutiklis aptiks žalią kubą.

  • Šis jutiklis gali būti naudojamas linijai aptikti ir (arba) sekti. Peržiūrėkite šią animaciją, kad pamatytumėte, kaip robotas naudoja spalvų jutiklį, kad važiuotų pažymėta linija.

  • Šis jutiklis gali nustatyti, ar objektas yra šalia.

Spalvų jutikliai varžybų robote

Atminkite, kad aptinkant spalvas ir atspalvius svarbu, kad spalvų jutiklis turėtų tam reikalingą šviesos kiekį. Būtinai patikrinkite, dar vadinamą kalibravimu, savo spalvų jutiklį kiekvieną kartą atvykę į naują varžybų vietą, nes skirtingi šviesos lygiai gali turėti įtakos jūsų spalvų jutiklio veikimui. Išbandykite savo projektą naudodami skirtingų lygių lempą, kad nustatytumėte, kuris jūsų roboto spalvų jutiklio nustatymas yra patikimiausias. 

Spalvų jutiklio surinkta informacija yra naudinga programuojant konkurencingą robotą, kad jis reaguotų į įvairias sąlygas. Spalvų jutiklis gali pagerinti varžybų robotą šiais būdais:

  • Tai leidžia robotui aptikti šalia jutiklio esančio objekto spalvą. Tai naudinga, jei norite, kad robotas rūšiuotų skirtingų spalvų objektus, privažiuotų prie konkrečios spalvos objekto arba aptiktų objektų spalvą, kai jie praeina pro jutiklį.
  • Tai leidžia robotui aptikti, kiek šviesos atsispindi atgal į jutiklį. Tai leidžia jūsų robotui važiuoti tol, kol pasiekia liniją ant paviršiaus arba net sekti liniją.
  • Tai leidžia robotui žinoti, ar šalia yra objektas ar paviršius. Tai naudinga nustatant, ar aptikta spalva yra netoliese esančio objekto skaitymas, ar galimas nenormalus tolimo paviršiaus ar šviesos skaitymas. 

Spalvų jutiklio kodavimas blokais

VEXcode IQ Ar radote objekto bloką, kuris nuskaito Color3 yra šalia objekto?

<Found an object> blokas yra Būlio reporterio blokas, kuris praneša apie sąlygą kaip teisingą arba klaidingą. Būlio blokai, kaip ir <Found an object> blokas, telpa blokų viduje su šešiakampėmis (šešiapusėmis) įvestimis kitiems blokams.

<Found an object> Būlio blokas praneša „teisinga“, jei „teisinga“, jei spalvų jutiklis aptinka objektą, ir „netiesa“, jei jutiklis to neaptinka. Norėdami sužinoti daugiau apie Būlio blokus, apsilankykite straipsnyje Pagalba arba blokų formos ir reikšmė.

 

VEXcode IQ blokuoja projektą, kuris naudoja spalvų jutiklį, kad važiuotų į priekį, kol randa objektą. Projekte rašoma Kai paleidžiama, važiuokite į priekį, palaukite, kol Color3 ras objektą, tada nustokite važiuoti.

Šiame pavyzdyje <Found an object> blokas naudojamas artumui aptikti kartu su [Palaukti] bloku, kad robotas važiuotų pirmyn, kol bus aptiktas objektas.

VEXcode IQ Color aptinka bloką, kuris nuskaito Color3 aptinka žalią?

<Color detects> blokas taip pat yra Būlio reporterio blokas, kuris praneša apie sąlygą kaip teisingą arba klaidingą. <Color detects> blokas praneša „teisinga“, jei „teisinga“, jei spalvų jutiklis aptinka pasirinktą spalvą, ir „netiesa“, jei jutiklis aptinka bet kokią kitą spalvą. Norėdami sužinoti daugiau apie Būlio blokus, apsilankykite straipsnyje Pagalba arba blokų formos ir reikšmė.

 

VEXcode IQ blokuoja projektą, kuris naudoja spalvų jutiklį, kad važiuotų į priekį, kol aptiks žalią spalvą. Projektas rašo Kai paleidžiamas, važiuokite į priekį, palaukite, kol Color3 aptiks žalią spalvą, tada nustokite važiuoti.

Šiame pavyzdyje <Color detects> blokas naudojamas kartu su bloku [Palauk, kol], kad robotas važiuotų į priekį, kol spalvų jutiklis aptiks žalią objektą. Tada robotas nustos važiuoti. Tai parodyta pirmame aukščiau esančiame vaizdo įraše.

VEXcode IQ Bloko ryškumas, nuskaitantis Color3 ryškumą procentais.

Blokas (Brightness of) praneša apie spalvų jutiklio aptiktą šviesos kiekį. Tai reporterių blokas, naudojamas kituose blokuose su apskritomis erdvėmis.

Blokas (Brightness of) nurodo diapazoną nuo 0% iki 100%.

 

VEXcode IQ blokuoja projektą, kuris naudoja žemyn nukreiptą spalvų jutiklį, kad sektų pažymėtą liniją. Projekte rašoma Pradėjus, nustatykite Color3 šviesą į 25%. Tada visam laikui, jei Color3 ryškumas procentais yra didesnis nei 25, tada pasukite „LeftMotor“ į priekį 35 laipsnius, kitu atveju pasukite „RightMotor“ į priekį 35 laipsniais.

Šiame pavyzdyje blokas (Brightness of) naudojamas, kad robotas aptiktų ir sektų liniją, kaip parodyta antrajame aukščiau esančiame vaizdo įraše.

VEXcode IQ Bloko atspalvis, nuskaitantis Color3 atspalvį laipsniais.

Blokas (Hue of) praneša apie spalvos atspalvį, kurį aptiko spalvų jutiklis. Tai reporterių blokas, naudojamas kituose blokuose su apskritomis erdvėmis.

Blokas (Brightness of) rodo diapazoną nuo 0 iki 360.

 

VEXcode IQ blokuoja projektą, kuris naudoja optinį jutiklį, kad važiuotų į priekį, kol pasieks objektą, o tada sukite į dešinę, jei jis raudonas, arba į kairę, jei ne. Projektas rašo Pradėjus, išspausdinkite Color3 atspalvį laipsniais ant Brain, važiuokite į priekį ir palaukite, kol Color3 ras objektą. Jei Color3 atspalvis laipsniais yra didesnis nei 330, o Color3 atspalvis laipsniais yra mažesnis nei 30, pasukite į dešinę 90 laipsnių kampu, kitu atveju pasukite į kairę, jei norite pamatyti 90 laipsnių.

Šiame pavyzdyje blokas (Atspalvis) naudojamas, kad robotas patikrintų atspalvių verčių diapazoną, atitinkantį raudoną spalvą, ir pasuktų į dešinę 90 laipsnių, jei jutiklis aptinka šias vertes. Jei aptinkamos kitos atspalvių reikšmės, robotas pasisuks į kairę 90 laipsnių.

Blokas (Hue of) gali būti naudingas, kai robotui reikia aptikti tam tikras spalvas, kai aplinkos apšvietimo sąlygos gali būti nevienodos.

Spalvų jutiklio kodavimas Python

Pastaba:Norint koduoti VEX IQ (1-osios kartos) buferio jungiklį Python, jis turi būti prijungtas prie VEX IQ (2-osios kartos) smegenų. VEX IQ (1-osios kartos) smegenys nepalaiko Python.

color_3.is_near_object()

Komanda color.is_near_object praneša teisingą , kai spalvų jutiklis aptinka objektą arba paviršių netoli jutiklio priekio, ir klaidingą kai spalvų jutiklis neaptinka objekto ar paviršiaus arti jutiklio priekio. jutiklis.

Pastaba:Spalvų jutiklio pavadinimas, rodomas komandoje, atitinka pavadinimą, pateiktą konfigūracijoje. 

drivetrain.drive(FORWARD)
, o ne spalva_3.yra_near_object():
palauk(20, MSEC)
drivetrain.stop()
Šiame pavyzdyje kilpaNors su sąlyga o ne yra naudojama su komanda color.is_near_object , kad robotas važiuotų į priekį, kol spalvų jutiklis aptiks objektą, esantį arti priekio. jutiklis.
spalva_3.spalva()

Komanda color.color praneša apie spalvą, kurią šiuo metu aptinka spalvų jutiklis.

drivetrain.drive(FORWARD)
, o ne color_3.GREEN():
laukti(20, MSEC)
pavara.stop()
Šiame pavyzdyje kilpaNors su sąlyga , o ne naudojama su komanda color.color , kad robotas važiuotų pirmyn, kol spalvų jutiklis aptiks žalią objektą. Tada robotas nustos važiuoti. Tai parodyta pirmame aukščiau esančiame vaizdo įraše.
color_3.brightness()

Komanda color.brightness praneša apie spalvų jutiklio aptiktą šviesos kiekį. Pateikiamas verčių diapazonas nuo 0% iki 100%.

color_3.set_light(25, PERCENT)
while True:
if color_3.brightness() > 25:
# Jei spalvų jutiklis aptiks šviesą, tada robotas pasislinks į kairę
LeftMotor.spin_for(FORWARD, 35, DEGREES)
else:

Jei spalvų jutiklis aptiks tamsumą7 RightMotor.spin_for(FORWARD, 35, DEGREES)
laukti (20, MSEC)
Šiame pavyzdyje komanda color.brightness naudojama, kad robotas aptiktų ir sektų liniją, kaip parodyta antrajame vaizdo įraše aukščiau.
color_3.hue()

Komanda color.hue praneša apie spalvos atspalvį, kurį aptiko spalvų jutiklis. Jis pateikia atspalvių verčių diapazoną nuo 0 iki 360.

brain.screen.print(color_3.hue())
drivetrain.drive
FORWARD)
bet ne color_3.is_near_object():
laukti(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain
drivetrain.turn_for(LEFT, 90, DEGREES)

Šiame pavyzdyje komanda color.hue naudojama tam, kad robotas patikrintų raudoną spalvą atitinkančių atspalvių reikšmių diapazoną ir pasuktų į dešinę 90 laipsnių, jei šias reikšmes aptinka jutiklis. Jei aptinkamos kitos atspalvių reikšmės, robotas pasisuks į kairę 90 laipsnių.

Komanda color.hue gali būti naudinga, kai robotui reikia aptikti tam tikras spalvas, kai aplinkos apšvietimo sąlygos gali būti nevienodos.

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

Last Updated: