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.

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.
Optical– Luo optisen anturin.
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ä. |
# 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ö: |
# 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.BLACKColor.WHITEColor.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ä.

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 |
|---|---|
|
Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi havaitsee uuden kohteen. |
|
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 |
|---|---|
|
Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi kadottaa havaitun kohteen. |
|
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 |
|---|---|
|
Älyportti, johon optinen anturi on kytketty, kirjoitetaan muodossa |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)