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ärisensori.

VEX IQ -värianturi sisältyy VEX IQ Super Kitiin, ja sen voi ostaa .

Käytätkö toisen sukupolven VEX IQ -robottia? Katso yleiskatsaus toisen sukupolven antureista täältäja tietoa optisesta anturista , joka on värianturin toisen sukupolven versio.


Värisensorin kuvaus

VEX IQ -värisensorissa on useita tiloja, joiden avulla se voi tallentaa erityyppisiä tietoja ympäristöstään. Keräämään tietoon vaikuttavat ympäristön valaistusolosuhteet sekä anturin ja luettavan kohteen tai pinnan välinen etäisyys.


Väriympyrä, joka osoittaa, miten 360 asteen ympyrä korreloi sävyarvoon. Punainen väri on asteella 0, vihreä väri on asteella 120 ja sininen väri on asteella 240.


Kuinka värisensori toimii

Värisensori pystyy havaitsemaan sekä värin että etäisyyden.

Värien tunnistaminen
VEXcode IQ Lohkon kirkkaus, joka lukee Color3:n kirkkautta prosentteina.
Kaavio värisensorista, joka havaitsee kirkkaan pinnan ja raportoi 80 %:n arvon ja sitten havaitsee tumman pinnan ja raportoi 20 %:n arvon.

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, jossa lukee Aseta Color3-valo 50 %:iin.
Värianturi on kiinnitettynä robottiin pimeässä ympäristössä. Värianturin lamppu syttyy valaisemaan ympäristöään.

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ärianturiblokkia. Ensimmäinen on lohkon väri, jossa lukee Color3-värin nimi. Toinen on Hue-lohko, joka lukee Color3:n sävyn asteina. Kolmas on Värin havaitsee -lohko, jossa lukee Väri3 ei havaitse mitään?

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

VEXcode IQ Color tunnistaa lohkon, jossa lukee Color3, eikä sitä tunnista? Lohkon Väri-alasvetovalikko avautuu ja näyttää luettelon väreistä, jotka lohko tunnistaa. Listassa lukee oranssi, violetti, punavioletti, violetti, sinivioletti, sinivihreä, keltavihreä, keltaoranssi ja punaoranssi.

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, miten 360 astetta korreloi sävyarvon kanssa. Punainen väri on asteella 0, vihreä väri on asteella 120 ja sininen väri on asteella 240.

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

Värejä ja sävyjä havaittaessa on tärkeää, että värisensorilla on riittävästi valoa. Muista testata eli kalibroida värianturi eri valaistustasoilla ja eri tehoilla, jotta voit määrittää robottisi värianturin luotettavimman asetuksen.

Läheisyyden havaitseminen

Värisensori sisältää infrapunasensorin ja -lähettimen. Infrapunasäteilijä lähettää näkymätöntä valoa ja havaitsee sitten sen heijastuksen. Jos suurin osa infrapunavalosta heijastuu takaisin anturia kohti, se kertoo robotin aivoille, että kohde on lähellä.

VEXcode IQ Löysikö objektilohkon, jossa lukee Color3 on lähellä kohdetta?

Värianturin yleiset käyttötavat

Värisensoreita käytetään monissa teknologiasovelluksissa, joissa tiettyjen värien näkyminen näytöillä tai tuotteissa on tärkeää.

Joitakin yleisiä käyttötarkoituksia 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ötarkoituksia 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 havaitsemisessa on tärkeää, että värisensorilla on riittävästi valoa. Muista testata eli kalibroida värisensorisi aina, kun saavut uuteen kilpailupaikkaan, koska eri valaistustasot voivat vaikuttaa värisensorisi toimintaan. Testaa projektiasi asettamalla lamppu eri tasoille selvittääksesi, mikä on luotettavin asetus robottisi värianturille. 

Värianturin keräämät tiedot ovat hyödyllisiä kilpailurobotin ohjelmoinnissa reagoimaan erilaisiin olosuhteisiin. Värisensori voi parantaa kilpailurobottia 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. sukupolvi) Bumper Switchin koodaamiseksi Pythonilla se on kytkettävä VEX IQ (2. sukupolvi) aivoihin. VEX IQ (1. sukupolvi) -aivot eivät tue Pythonia.

väri_3.on_objektin_lähellä()

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():
wait(20, MSEC)
drivetrain.stop()
Tässä esimerkissä käytetäänWhile -silmukkaa, jossa on not -ehto, ja komennon color.is_near_object kanssa, jotta robotti ajaa eteenpäin, kunnes värianturi havaitsee anturin etuosan lähellä olevan kohteen.
väri_3.väri()

Komento color.color raportoi värianturin parhaillaan havaitseman värin.

drivetrain.drive(FORWARD)
mutta ei color_3.GREEN():
    wait(20, MSEC)
drivetrain.stop()
Tässä esimerkissä käytetäänWhile -silmukkaa, jossa on not -ehto, ja color.color -komentoa, jotta robotti ajaa eteenpäin, kunnes värianturi havaitsee vihreän kohteen. Tämän jälkeen robotti lopettaa ajamisen. Tämä on havainnollistettu yllä olevassa ensimmäisessä videossa.
väri_3.kirkkaus()

Komento color.brightness raportoi värianturin havaitseman valon määrän. Se raportoi arvoalueen 0–100 %.

color_3.set_light(25, PERCENT)
    while True:
        if color_3.brightness() > 25:
            # Jos värianturi havaitsee valoa, robotti siirtyy vasemmalle
            LeftMotor.spin_for(FORWARD, 35, DEGREES)
        else:
            # Jos värianturi havaitsee pimeyttä, robotti siirtyy oikealle
            RightMotor.spin_for(FORWARD, 35, DEGREES)
        wait(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(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(RIGHT, 90, DEGREES)
else:
    drivetrain.turn_for(LEFT, 90, DEGREES)

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: