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.

Š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ą. |
# 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: |
# 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.BLACKColor.WHITEColor.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ą.

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 |
|---|---|
|
Anksčiau apibrėžta function, kuri vykdoma, kai optinis jutiklis aptinka naują objektą. |
|
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 |
|---|---|
|
Anksčiau apibrėžta function, kuri vykdoma, kai optinis jutiklis praranda aptiktą objektą. |
|
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 |
|---|---|
|
Išmanusis prievadas, prie kurio prijungtas optinis jutiklis, užrašomas kaip |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)