Optinen anturi#

Johdanto#

V5-optinen anturi tunnistaa lähellä olevien kohteiden värin, kirkkauden ja läsnäolon RGB-värianturin ja läheisyysanturin yhdistelmällä. Se voi myös käyttää sisäänrakennettua LED-valoaan valaisemaan kohteita tarkemman tunnistuksen saavuttamiseksi.

VEX V5 -optinen anturi.

Tällä sivulla käytetään esimerkkinä optisen anturin nimeä optical_sensor Korvaa se tarvittaessa omalla määritetyllä nimelläsi.

Alla on luettelo käytettävissä olevista menetelmistä:

  • set_light – Sytyttää tai sammuttaa optisen anturin LED-valon.

  • set_light_power – Asettaa optisen anturin valotehon.

  • is_near_object – Palauttaa, havaitseeko optinen anturi kohteen kantaman sisällä.

  • color – Palauttaa optisen anturin havaitseman värin.

  • brightness – Palauttaa kohteesta heijastuneen valon määrän.

  • hue – Palauttaa optisen anturin havaitseman sävyn.

  • object_detected – Rekisteröi funktion, jota kutsutaan, kun optinen anturi havaitsee kohteen.

  • object_lost – Rekisteröi funktion, jota kutsutaan, kun optinen anturi kadottaa objektin.

Konstructor – Optisen anturin manuaalinen alustaminen.

asetettu_valo#

set_light kytkee optisen anturin LEDin päälle tai pois päältä. Tämä voi auttaa parantamaan anturin tarkkuutta värien tunnistuksessa.

Usage:
optical_sensor.set_light(state)

Parametrit

Kuvaus

osavaltio

Asettaa LEDin päälle tai pois päältä. LEDStateType.ON sytyttää valon 100 %:n kirkkuudella kirkkaus. LEDStateType.OFF sammuttaa sen.

# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)

aseta_valo_teho#

set_light_power asettaa optisen anturin LEDin kirkkauden. Valo voi auttaa optista anturia havaitsemaan esineitä ja värejä selkeämmin.

Jos optisen anturin valo on pois päältä, valotehon asettaminen yli 0 %:n arvoon sytyttää valon.

Jos optisen anturin valo palaa, valotehon asettaminen arvoon 0 % sammuttaa valon.

Suurempi prosenttiosuus tekee valosta kirkkaampaa. Pienempi prosenttiosuus tekee valosta himmeämpää.

Usage:
optical_sensor.set_light_power(percent, units)

Parametrit

Kuvaus

prosentti

LEDin kirkkaus, johon asetetaan, kokonaislukuna.

yksiköitä

Valinnainen. Kirkkautta edustava yksikkö: PERCENT

# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)

on_lähellä_esinettä#

is_near_object palauttaa totuusarvon, joka ilmaisee, havaitseeko optinen anturi kohteen kantaman sisällä.

  • True – Optinen anturi havaitsee kohteen.

  • False – Optinen anturi ei havaitse kohdetta.

Usage:
optical_sensor.is_near_object()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
  pass
drivetrain.stop()

väri#

color palauttaa Color class -luokan esiintymän havaitun sävyarvon perusteella. Näitä voidaan verrata ennalta määriteltyihin Color -objekteihin ehdollisten lausekkeiden luomiseksi.

Mahdollisia värejä ovat:

  • Color.BLACK

  • Color.WHITE

  • Color.RED - Sävyarvo välillä 340° - 20°

  • Color.GREEN - Sävyarvo välillä 80° - 140°

  • Color.BLUE - Sävyarvo välillä 200° - 240°

  • Color.YELLOW - Sävyarvo välillä 40° - 60°

  • Color.ORANGE - Sävyarvo välillä 20° - 40°

  • Color.PURPLE - Sävyarvo välillä 240° - 280°

  • Color.CYAN - Sävyarvo välillä 140° - 200°

Huomautus: Optinen anturi etsii sävyalueita, jotka vastaavat määritettyä väriä. Katso lisätietoja tiettyjen sävyalueiden havaitsemisesta kohdasta hue.

Usage:
optical_sensor.color()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
  pass
drivetrain.stop()

kirkkaus#

brightness palauttaa objektista heijastuneen valon määrän desimaalilukuna (float), joka edustaa prosenttia.

Korkeampi prosenttiosuus tarkoittaa, että enemmän valoa heijastuu takaisin optiseen anturiin. Matalampi prosenttiosuus tarkoittaa, että vähemmän valoa heijastuu takaisin.

Usage:
optical_sensor.brightness()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

värisävy#

hue palauttaa havaitun värin sävyn desimaalilukuna (float) välillä 0–359.

Sävy on tapa kuvata väriä käyttämällä numeroita väriympyrän ympärillä.

VEX-väriympyrä, joka näyttää värien asteet ympyrän ympärillä, punaisen ollessa 0 asteessa ja siirtyen sateenkaaren läpi arvon kasvaessa.

Usage: optical_sensor.hue()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# Look for the color pink using hue
while True:
  brain.screen.clear_screen()
  brain.screen.set_cursor(1, 1)

  if 300 < optical_sensor.hue() < 359:
    brain.screen.print("This is pink!")
  else:
    brain.screen.print("No pink detected!")

havaittu_objekti#

object_detected rekisteröi funktion kutsuttavaksi aina, kun optinen anturi havaitsee uuden objektin.

Usage:
optical_sensor.object_detected(callback, arg)

Parametrit

Kuvaus

callback

Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi havaitsee uuden kohteen.

arg

Valinnainen. tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Funktioiden käyttö parametrien kanssa.

def my_function():
  brain.screen.print("Optical Sensor detected an object")

# Call my_function whenever optical_sensor detects an object
optical_sensor.object_detected(my_function)

kadonnut_objekti#

object_lost rekisteröi funktion kutsuttavaksi aina, kun optinen anturi kadottaa havaitun objektin.

Usage:
optical_sensor.object_lost(callback, arg)

Parametrit

Kuvaus

callback

Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi kadottaa havaitun kohteen.

arg

Valinnainen. tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Funktioiden käyttö parametrien kanssa.

def my_function():
  brain.screen.print("Optical Sensor lost an object")

# Call my_function whenever optical_sensor loses an object
optical_sensor.object_lost(my_function)

Rakentaja#

Konstruktoreita käytetään Optical -objektien manuaaliseen luomiseen, jotka ovat välttämättömiä optisen anturin konfiguroimiseksi VEXcoden ulkopuolella.

Optical#

Optical luo optisen anturin.

Usage:
Optical(smartport)

Parametri

Kuvaus

smartport

Älyportti, johon optinen anturi on kytketty, kirjoitetaan muodossa Ports.PORTx , jossa x on portin numero.

# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)