Optinis jutiklis#

Įvadas#

V5 optinis jutiklis aptinka netoliese esančių objektų spalvą, ryškumą ir buvimą, naudodamas RGB spalvų jutiklio ir artumo jutiklio derinį. Jis taip pat gali naudoti integruotą LED lemputę objektams apšviesti, kad būtų galima tiksliau aptikti objektus.

Optinis jutiklis „VEX V5“.

Šiame puslapyje kaip optinio jutiklio pavadinimo pavyzdys naudojamas optical_sensor Jei reikia, pakeiskite jį savo sukonfigūruotu pavadinimu.

Žemiau pateikiamas galimų metodų sąrašas:

  • set_light – Įjungia arba išjungia optinio jutiklio šviesos diodą.

  • set_light_power – Nustato optinio jutiklio šviesos galios lygį.

  • is_near_object – Grąžina, ar optinis jutiklis aptinka objektą diapazone.

  • color – Grąžina optinio jutiklio aptiktą spalvą.

  • brightness – Grąžina nuo objekto atsispindinčios šviesos kiekį.

  • hue – Grąžina optinio jutiklio aptiktą atspalvį.

  • object_detected – Registruoja funkciją, kuri bus iškviečiama, kai optinis jutiklis aptiks objektą.

  • object_lost – Registruoja funkciją, kuri bus iškviesta, kai optinis jutiklis pames objektą.

Konstruktorius – rankiniu būdu inicijuoti optinį jutiklį.

  • Optical – Sukuria optinį jutiklį.

nustatyta_šviesa#

set_light įjungia arba išjungia optinio jutiklio šviesos diodą. Tai gali padėti padidinti jutiklio tikslumą aptinkant spalvas.

Usage:
optical_sensor.set_light(state)

Parametrai

Aprašymas

valstija

Įjungia arba išjungia šviesos diodą. LEDStateType.ON įjungia šviesą 100 % ryškumu. LEDStateType.OFF išjungia.

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

nustatytas_šviesos_galios#

set_light_power nustato optinio jutiklio šviesos diodo ryškumą. Šviesa gali padėti optiniam jutikliui aiškiau aptikti objektus ir spalvas.

Jei optinio jutiklio lemputė išjungta, nustatant šviesos galią virš 0 %, lemputė įsijungs.

Jei optinio jutiklio lemputė įjungta, nustačius šviesos galią į 0 %, lemputė išsijungs.

Didesnis procentas šviesą daro ryškesnę, o mažesnis procentas – pritemdytą.

Usage:
optical_sensor.set_light_power(percent, units)

Parametrai

Aprašymas

procentas

Šviesos diodo ryškumas, kurį reikia nustatyti, yra sveikasis skaičius.

vienetai

Pasirinktinai. Ryškumo matavimo vienetas: PERCENT

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

yra_netoli_objekto#

is_near_object grąžina loginę reikšmę, nurodančią, ar optinis jutiklis aptinka objektą diapazone.

  • True – Optinis jutiklis aptinka objektą.

  • False – Optinis jutiklis neaptinka objekto.

Usage:
optical_sensor.is_near_object()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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

spalva#

color grąžina Color class egzempliorių, pagrįstą aptikta atspalvio reikšme. Juos galima palyginti su iš anksto apibrėžtais Color objektais, norint sukurti sąlyginius teiginius.

Galimos spalvos yra:

  • Color.BLACK

  • Color.WHITE

  • Color.RED – atspalvio reikšmė nuo 340° iki 20°

  • Color.GREEN – atspalvio reikšmė nuo 80° iki 140°

  • Color.BLUE – atspalvio reikšmė nuo 200° iki 240°

  • Color.YELLOW – atspalvio reikšmė nuo 40° iki 60°

  • Color.ORANGE – atspalvio reikšmė nuo 20° iki 40°

  • Color.PURPLE – atspalvio reikšmė nuo 240° iki 280°

  • Color.CYAN – atspalvio reikšmė nuo 140° iki 200°

Pastaba: Optinis jutiklis ieško atspalvių diapazonų, kurie atitiktų nurodytą spalvą. Norėdami aptikti konkrečius atspalvių diapazonus, žr. hue.

Usage:
optical_sensor.color()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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

ryškumas#

brightness grąžina nuo objekto atspindėtos šviesos kiekį dešimtainiu skaičiumi (float), reiškiančiu procentą.

Didesnis procentas reiškia, kad daugiau šviesos atsispindi atgal į optinį jutiklį. Mažesnis procentas reiškia, kad atsispindi mažiau šviesos.

Usage:
optical_sensor.brightness()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

atspalvis#

hue grąžina aptiktos spalvos atspalvio reikšmę dešimtainiu skaičiumi (float) nuo 0 iki 359.

Atspalvis yra būdas apibūdinti spalvą skaičiais aplink spalvų ratą.

VEX spalvų ratas rodo spalvų laipsnius aplink apskritimą, kur raudona yra 0 laipsnių ir pereina per vaivorykštę, reikšmei didėjant.

Usage: optical_sensor.hue()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# 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!")

objektas_aptiktas#

object_detected užregistruoja funkciją, kuri bus iškviečiama kaskart, kai optinis jutiklis aptiks naują objektą.

Usage:
optical_sensor.object_detected(callback, arg)

Parametrai

Aprašymas

callback

Anksčiau apibrėžta function, kuri vykdoma, kai optinis jutiklis aptinka naują objektą.

arg

Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas.

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)

prarastas objektas#

object_lost užregistruoja funkciją, kuri bus iškviečiama kaskart, kai optinis jutiklis pameta aptiktą objektą.

Usage:
optical_sensor.object_lost(callback, arg)

Parametrai

Aprašymas

callback

Anksčiau apibrėžta function, kuri vykdoma, kai optinis jutiklis praranda aptiktą objektą.

arg

Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas.

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)

Konstruktorius#

Konstruktoriai naudojami rankiniu būdu sukurti Optical objektus, kurie yra būtini optinio jutiklio konfigūravimui už VEXcode ribų.

Optical#

Optical sukuria optinį jutiklį.

Usage:
Optical(smartport)

Parametras

Aprašymas

smartport

Išmanusis prievadas, prie kurio prijungtas optinis jutiklis, užrašomas kaip Ports.PORTx , kur x yra prievado numeris.

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