VEX IQ (1. sukupolven) värisensorin käyttö

Värisensori käyttää heijastuvaa valoa havaitakseen kohteen värin, sävyarvon, harmaasävyarvon, kirkkauden ja läheisyyden.

VEX IQ (1. sukupolvi) Värisensorin kappale.

VEX IQ Color Sensor sisältyy VEX IQ Super Kit -pakettiin, ja sen voi myös ostaa täältä.

Käytätkö 2. sukupolven VEX IQ -robottia? Katso yleiskatsaus 2. sukupolven antureista täältäja tietoja optisesta anturista, värisensorin 2. sukupolven versiosta.


Värisensorin kuvaus

VEX IQ Color Sensorissa on useita tiloja, joiden avulla se voi siepata erityyppistä tietoa ympäristöstään. Sen keräämään tietoon vaikuttavat sen ympäristön valaistusolosuhteet sekä anturin ja sen lukeman kohteen tai pinnan välinen etäisyys.


Väripyörä, joka osoittaa, kuinka 360 asteen ympyrä korreloi sävyarvon kanssa. Punainen väri on asteessa 0, vihreä väri on asteessa 120 ja sininen väri on asteessa 240.


Kuinka värisensori toimii

Värisensori voi havaita sekä värin että läheisyyden.

Värien tunnistaminen

VEXcode IQ Lohkon kirkkaus, joka lukee Color3:n kirkkauden prosentteina.

Kaavio värisensorista, joka havaitsee kirkkaan pinnan ja raportoi arvon 80 % ja tunnistaa sitten tumman pinnan ja raportoi arvon 20 %.

Kirkkaustilassa värisensoria käytetään havaitsemaan kaiken valon voimakkuutta robotin ympäristössä. Mitä enemmän valoa saavuttaa värisensorin sen ollessa aktiivinen, sitä korkeampi prosenttiarvo robottiaivoille lähetetään.

VEXcode IQ Aseta värianturin valolohko, joka lukee Aseta Color3-valo 50 %:iin.

Värianturi kiinnitettynä robottiin pimeässä ympäristössä. Värisensorin lamppu syttyy valaisemaan sen ympäristöä.

Jos havaittu kirkkausprosentti on alhainen tai epäluotettava, värisensorin lamppu voidaan sytyttää tai lampun kirkkausprosenttia voidaan nostaa käyttämällä seuraavaa asetettua valoa estämään:

Kolme VEXcode IQ -väritunnistinlohkoa. Ensimmäinen on lohkon väri, joka lukee Color3-värin nimen. Toinen on Hue of block, joka lukee Color3 hue asteina. Kolmas on Color havaitsee lohko, joka lukee Color3 ei havaitse mitään?

Värisensori voi raportoida näkemänsä värin joko väriarvona tai sävyarvona.

VEXcode IQ Color havaitsee lohkon, joka lukee Color3 ei havaitse yhtään? Lohkon Väri-pudotusvalikko avautuu näyttämään luettelon väreistä, jotka se tunnistaa. Luettelossa lukee oranssi, violetti, punainen violetti, violetti, sininen violetti, sinivihreä, keltavihreä, keltaoranssi ja punainen oranssi.

Väriarvot.Luettelossa on 14 väriä, jotka värianturi voi havaita. Lohkon kuvasta puuttuvat värit ovat punainen, vihreä, sininen, valkoinen ja keltainen.

Sävyarvokaavio, joka osoittaa, kuinka 360 astetta korreloivat sävyarvon kanssa. Punainen väri on asteessa 0, vihreä väri on asteessa 120 ja sininen väri on asteessa 240.

Sävyarvot.Sävyarvot ovat kuin väriarvot, mutta numeerisia. Sävyn arvo vaihtelee välillä 0 - 360, kuten astetta. Yllä luetelluilla väriarvoilla on omat vastaavat sävyarvot. 

Värien ja sävyjen tunnistamisessa on tärkeää, että värisensorissa on riittävästi valoa tätä varten. Muista testata, eli kalibroimalla, värisensoriasi eri valotasoilla ja lampun eri tasoilla määrittääksesi, mikä on luotettavin asetus robottisi värisensorille.

Läheisyyden havaitseminen

Värianturi sisältää infrapuna-anturi-emitterin. Infrapunasäteilijä loistaa näkymätöntä valoa ja havaitsee sitten sen heijastuksen. Jos suurin osa infrapunavalosta pomppii takaisin kohti anturia, se kertoo Robot Brainille, että esine on lähellä.

VEXcode IQ Löysitkö objektilohkon, joka lukee Color3 on lähellä objektia?

Värianturin yleiset käyttötavat

Väriantureita käytetään monissa teknologiasovelluksissa, joissa tiettyjen värien näyttäminen näytöissä tai tuotteissa on tärkeää.

Joitakin yleisiä käyttöjä jokapäiväisessä elämässä ovat:

  • Värien kalibrointityökalut tarkistavat, näyttääkö digitaalinen näyttö tarkat värit, ja säädä sitten näyttöasetuksia tarpeen mukaan. On tärkeää, että graafikot ja kaikki suunnittelijat, jotka työskentelevät värejä digitaalisella näytöllä, voivat nähdä tarkalleen oikean värin näytettävänä. Väärinkäsityksiä ja resurssien tuhlausta syntyy, kun värit eivät ole tarkkoja.
  • Kamerat ja videokamerat käyttävät väriantureita säätämään asetuksia valaistusolosuhteiden mukaan parantaakseen valokuvia ja videoita maksimoimalla valotasot ja tehostamalla muuten himmeitä värejä. Näiden antureiden avulla valokuvaaja voi myös keskittyä kuvissaan tiettyihin väreihin.
  • Valmistuksessa käytetään toisinaan väriantureita, joilla tarkistetaan nopeasti, onko tuotteessa oikea väri ennen kuin se lähetetään asiakkaalle. Esimerkiksi hedelmät ja vihannekset, jotka vaihtavat väriä kypsyessään tai syötäväksi, voidaan skannata varmistaakseen, että ne ovat oikean värisiä markkinoille lähetettäväksi. 


Joitakin yleisiä VEX IQ Robotin käyttötapoja ovat:

  • Tämän anturin avulla voidaan havaita kohteen väri. Katso tämä animaatio nähdäksesi robotin ajavan eteenpäin, kunnes värianturi havaitsee vihreän kuution.

  • Tätä anturia voidaan käyttää viivan havaitsemiseen ja/tai seuraamiseen. Katso tämä animaatio nähdäksesi robotin, joka käyttää värisensoria ajamaan merkittyä viivaa pitkin.

  • Tämä anturi voi havaita, onko jokin esine lähellä.

Värisensorit kilpailurobotissa

Muista, että värien ja sävyjen tunnistamisessa on tärkeää, että Color Sensorissa on riittävästi valoa tätä varten. Muista testata, joka tunnetaan myös nimellä kalibrointi, värisensorisi joka kerta, kun saavut uudelle kilpailupaikalle, koska erilaiset valotasot voivat vaikuttaa värisensorisi suorituskykyyn. Testaa projektiasi lampulla eri tasoilla selvittääksesi, mikä on luotettavin asetus robottisi värisensorille. 

Värisensorin keräämät tiedot ovat hyödyllisiä ohjelmoitaessa kilpailevaa robottia reagoimaan erilaisiin olosuhteisiin. Värisensori voi tehdä kilpailurobotista paremman seuraavilla tavoilla:

  • Sen avulla robotti havaitsee anturin lähellä olevan kohteen värin. Tästä on hyötyä, jos haluat robotin lajittelevan erivärisiä esineitä, ajavan tietynvärisen kohteen luo tai tunnistavan esineiden värin niiden ohittaessaan anturin.
  • Sen avulla robotti havaitsee, kuinka paljon valoa heijastuu takaisin anturiin. Näin robottisi voi ajaa, kunnes se saavuttaa linjan pinnalla tai jopa seurata linjaa.
  • Sen avulla robotti tietää, onko jokin esine tai pinta lähellä. Tämä auttaa määrittämään, onko havaittu väri lukema lähellä olevasta kohteesta vai mahdollisesti poikkeava lukema etäisestä pinnasta tai valosta. 

Värisensorin koodaus lohkoissa

VEXcode IQ Löysitkö objektilohkon, joka lukee Color3 on lähellä objektia?

<Found an object> lohko on Boolen raporttilohko, joka raportoi ehdon joko tosi tai epätosi. Boolen lohkot, kuten <Found an object> lohko, sopivat lohkojen sisään, joissa on kuusikulmaiset (kuusipuoliset) tulot muille lohkoille.

<Found an object> Boolen lohko ilmoittaa 'tosi', jos 'true', jos värianturi havaitsee kohteen, ja 'false', jos anturi ei havaitse sitä. Lisätietoja Boolen lohkoista on artikkelissa Ohje tai Block Shapes and Meaning.

 

VEXcode IQ estää projektin, joka käyttää Color Sensoria ajaakseen eteenpäin, kunnes se löytää kohteen. Projektissa lukee Kun aloitetaan, aja eteenpäin, odota, kunnes Color3 löysi kohteen, ja lopeta sitten ajaminen.

Tässä esimerkissä <Found an object> lohkoa käytetään havaitsemaan läheisyys yhdessä [Odota]-lohkon kanssa, jotta robotti ajaa eteenpäin, kunnes kohde havaitaan.

VEXcode IQ Color havaitsee lohkon joka lukee Color3 havaitsee vihreän?

<Color detects> lohko on myös Boolen reportterilohko, joka raportoi ehdon joko tosi tai epätosi. <Color detects> -lohko ilmoittaa 'tosi', jos 'tosi', jos värianturi havaitsee valitun värin, ja 'false', jos anturi havaitsee jonkin muun värin. Lisätietoja Boolen lohkoista on artikkelissa Ohje tai Block Shapes and Meaning.

 

VEXcode IQ estää projektin, joka käyttää Color Sensoria ajaakseen eteenpäin, kunnes se havaitsee vihreän värin. Projektissa lukee Kun aloitetaan, aja eteenpäin, odota, kunnes Color3 havaitsee vihreän, ja lopeta sitten ajaminen.

Tässä esimerkissä <Color detects> lohkoa käytetään yhdessä [Odota, kunnes] -lohkon kanssa saamaan robotti ajamaan eteenpäin, kunnes värianturi havaitsee vihreän kohteen. Robotti lopettaa ajamisen. Tämä näkyy ensimmäisessä videossa yllä.

VEXcode IQ Lohkon kirkkaus, joka lukee Color3:n kirkkauden prosentteina.

(Brightness of) -lohko ilmoittaa värianturin havaitseman valon määrän. Se on reportterilohko, jota käytetään muiden lohkojen sisällä, joissa on pyöreät välilyönnit.

(Brightness of) -lohko ilmoittaa alueen 0 % - 100 %.

 

VEXcode IQ estää projektin, joka seuraa merkittyä viivaa alaspäin osoittavalla värisensorilla. Projektissa lukee Kun aloitat, aseta Color3 light arvoon 25 %. Seuraavaksi ikuisesti, jos Color3:n kirkkaus prosentteina on suurempi kuin 25, pyöritä LeftMotoria eteenpäin 35 astetta, muuten pyöritä RightMotoria eteenpäin 35 astetta.

Tässä esimerkissä (kirkkaus) -lohkoa käytetään saamaan robotti havaitsemaan ja seuraamaan viivaa, kuten toisessa yllä olevassa videossa näkyy.

VEXcode IQ Lohkon sävy, joka lukee Color3-sävyn asteina.

(Hue of) -lohko ilmoittaa värisensorin havaitseman värisävyn. Se on reportterilohko, jota käytetään muiden lohkojen sisällä, joissa on pyöreät välilyönnit.

(Brightness of) -lohko ilmoittaa alueen 0 - 360.

 

VEXcode IQ estää projektin, joka käyttää optista anturia ajaakseen eteenpäin, kunnes se saavuttaa kohteen, ja käänny sitten oikealle, jos se on punainen, tai vasemmalle, jos se ei ole. Projekti lukee Kun aloitetaan, tulosta Color3-sävy asteina Brainille, aja eteenpäin ja odota, kunnes Color3 löysi objektin. Jos Color3-sävy asteina on suurempi kuin 330 ja Color3-sävy asteina on alle 30, käänny oikealle 90 astetta, muussa tapauksessa käänny vasemmalle 90 astetta.

Tässä esimerkissä (Hue of) -lohkoa käytetään robotin tarkistamaan punaista väriä vastaavat sävyarvot ja kääntymään oikealle 90 astetta, jos anturi havaitsee nämä arvot. Jos havaitaan muita sävyarvoja, robotti kääntyy vasemmalle 90 astetta.

(Hue of) -lohko voi olla hyödyllinen, kun robotin on tarpeen havaita tietyt värit, kun ympäristön valaistusolosuhteet voivat olla epäjohdonmukaisia.

Värisensorin koodaus Pythonissa

Huomautus:VEX IQ (1. sukupolven) puskurikytkimen koodaamiseksi Pythonissa se on liitettävä VEX IQ (2. sukupolvi) Brainiin. VEX IQ (1. sukupolvi) Brain ei tue Pythonia.

color_3.is_near_object()

color.is_near_object -komento ilmoittaa arvon tosi , kun värianturi havaitsee kohteen tai pinnan lähellä anturin etuosaa ja Epätosi , kun värianturi ei havaitse kohteen tai pinnan lähellä anturin etuosaa. sensori.

Huomautus:Komennossa näkyvä värianturin nimi vastaa kokoonpanossa sille annettua nimeä. 

drivetrain.drive(FORWARD)
mutta ei color_3.is_near_object():
odota(20, MSEC)
drivetrain.stop()
Tässä esimerkissäWhile -silmukkaa, jonka ehto on ei , käytetään color.is_near_object -komennon kanssa, jotta robotti ajaa eteenpäin, kunnes värianturi havaitsee kohteen lähellä sen etuosaa. anturi.
väri_3.väri()

color.color -komento ilmoittaa Color Sensorin parhaillaan havaitseman värin.

drivetrain.drive(FORWARD)
mutta ei color_3.GREEN():
odota(20, MSEC)
drivetrain.stop()
Tässä esimerkissäWhile -silmukkaa ehdolla ei käytetään color.color -komennon kanssa, jotta robotti ajaa eteenpäin, kunnes värianturi havaitsee vihreän kohteen. Robotti lopettaa ajamisen. Tämä näkyy ensimmäisessä videossa yllä.
väri_3.kirkkaus()

color.brightness -komento ilmoittaa värianturin havaitseman valon määrän. Se ilmoittaa arvoalueen 0 % - 100 %.

color_3.set_light(25, PERCENT)
while True:
if color_3.brightness() > 25:
# Jos värisensori havaitsee valon, robotti siirtyy vasemmalle
LeftMotor.spin_for(FORWARD, 35, DEGREES)
else:
# Jos värianturi havaitsee, siirtyy oikealle, niin robotti havaitsee
RightMotor.spin_for(FORWARD, 35, DEGREES)
odota(20, MSEC)
Tässä esimerkissä color.brightness -komentoa käytetään saamaan robotti havaitsemaan ja seuraamaan viivaa, kuten toisessa yllä olevassa videossa näkyy.
color_3.hue()

color.hue -komento ilmoittaa värianturin havaitseman värisävyn. Se ilmoittaa sävyarvojen alueen 0 - 360.

brain.screen.print(väri_3.sävy())
voimansiirto.drive
FORWARD)
muttei color_3.is_near_object():
odota(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain
drivetrain.turn_for(VASEN, 90, ASTEET)

Tässä esimerkissä color.hue -komentoa käytetään saamaan robotti tarkistamaan punaista väriä vastaavat sävyarvot ja kääntymään oikealle 90 astetta, jos anturi havaitsee kyseiset arvot. Jos havaitaan muita sävyarvoja, robotti kääntyy vasemmalle 90 astetta.

color.hue -komento voi olla hyödyllinen, kun robotin on tarpeen havaita tietyt värit, kun ympäristön valaistusolosuhteet voivat olla epäjohdonmukaisia.

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

Last Updated: