Optische sensor#
Invoering#
De V5 optische sensor detecteert de kleur, helderheid en aanwezigheid van objecten in de buurt met behulp van een combinatie van een RGB-kleursensor en een nabijheidssensor. De ingebouwde led kan objecten ook verlichten voor een nauwkeurigere detectie.

Op deze pagina wordt optical_sensor als voorbeeldnaam voor de optische sensor gebruikt. Vervang dit door uw eigen geconfigureerde naam indien nodig.
Hieronder vindt u een lijst met beschikbare methoden:
set_light– Schakelt de LED van de optische sensor aan of uit.set_light_power– Stelt het lichtvermogen van de optische sensor in.is_near_object– Geeft aan of de optische sensor een object binnen bereik detecteert.color– Geeft de kleur terug die door de optische sensor is gedetecteerd.brightness– Geeft de hoeveelheid licht terug die door het object wordt weerkaatst.hue– Geeft de tint terug die door de optische sensor is gedetecteerd.object_detected– Registreert een functie die wordt aangeroepen wanneer de optische sensor een object detecteert.object_lost– Registreert een functie die moet worden aangeroepen wanneer de optische sensor een object verliest.
Constructor – Initialiseer handmatig een optische sensor.
Optical– Creëert een optische sensor.
set_light#
set_light wordt de LED van de optische sensor in- of uitgeschakeld. Dit kan de nauwkeurigheid van de sensor bij het detecteren van kleuren verbeteren.
Usage:
optical_sensor.set_light(state)
Parameters |
Beschrijving |
|---|---|
staat |
Hiermee wordt de LED aan- of uitgezet. |
# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)
set_light_power#
set_light_power stelt de helderheid van de LED van de optische sensor in. Het licht kan de optische sensor helpen objecten en kleuren duidelijker te detecteren.
Als het lampje van de optische sensor uit is, zal het inschakelen wanneer het lampje hoger dan 0% wordt ingesteld.
Als het lampje van de optische sensor brandt, zal het instellen van het lichtvermogen op 0% het lampje uitschakelen.
Een hoger percentage maakt het licht feller. Een lager percentage maakt het licht minder fel.
Usage:
optical_sensor.set_light_power(percent, units)
Parameters |
Beschrijving |
|---|---|
procent |
De helderheid die je met de LED wilt instellen, is een geheel getal. |
eenheden |
Optioneel. De eenheid voor de helderheid: |
# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)
is_nabij_object#
is_near_object retourneert een Booleaanse waarde die aangeeft of de optische sensor een object binnen bereik detecteert.
True– De optische sensor detecteert een object.False– De optische sensor detecteert geen object.
Usage:
optical_sensor.is_near_object()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
pass
drivetrain.stop()
kleur#
color retourneert een instantie van een Color klasse, gebaseerd op de gedetecteerde tintwaarde. Deze kunnen worden vergeleken met vooraf gedefinieerde Color objecten om voorwaardelijke instructies te creëren.
Mogelijke kleuren zijn:
Color.BLACKColor.WHITEColor.RED- Een tintwaarde tussen 340° en 20°Color.GREEN- Een tintwaarde tussen 80° en 140°Color.BLUE- Een tintwaarde tussen 200° en 240°Color.YELLOW- Een tintwaarde tussen 40° en 60°Color.ORANGE- Een tintwaarde tussen 20° en 40°Color.PURPLE- Een tintwaarde tussen 240° en 280°Color.CYAN- Een tintwaarde tussen 140° en 200°
Opmerking: De optische sensor zoekt naar kleurtinten die overeenkomen met de opgegeven kleur. Voor het detecteren van specifieke kleurtinten, zie hue.
Usage:
optical_sensor.color()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
pass
drivetrain.stop()
helderheid#
brightness geeft de hoeveelheid licht terug die door het object wordt weerkaatst als een decimaal getal (float) dat een percentage vertegenwoordigt.
Een hoger percentage betekent dat er meer licht teruggekaatst wordt naar de optische sensor. Een lager percentage betekent dat er minder licht teruggekaatst wordt.
Usage:
optical_sensor.brightness()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
tint#
hue retourneert de tintwaarde van de gedetecteerde kleur als een decimaal getal (float) van 0 tot 359.
Tint is een manier om kleur te beschrijven met behulp van getallen op een kleurencirkel.

Usage:
optical_sensor.hue()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# 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!")
object_detected#
object_detected registreert een functie die wordt aangeroepen wanneer de optische sensor een nieuw object detecteert.
Usage:
optical_sensor.object_detected(callback, arg)
Parameters |
Beschrijving |
|---|---|
|
Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de optische sensor een nieuw object detecteert. |
|
Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie. |
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)
object_lost#
object_lost registreert een functie die wordt aangeroepen wanneer de optische sensor een gedetecteerd object verliest.
Usage:
optical_sensor.object_lost(callback, arg)
Parameters |
Beschrijving |
|---|---|
|
Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de optische sensor een gedetecteerd object verliest. |
|
Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie. |
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)
Constructor#
Constructors worden gebruikt om handmatig Optical objecten te creëren, die nodig zijn voor het configureren van een optische sensor buiten VEXcode.
Optical#
Optical creëert een optische sensor.
Usage:
Optical(smartport)
Parameter |
Beschrijving |
|---|---|
|
De slimme poort waarop de optische sensor is aangesloten, wordt weergegeven als |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)