Gyro#
Invoering#
De gyroscoopsensor is een bewegingssensor die rotatie rond één as detecteert. Hij kan meten hoeveel de robot is gedraaid, waardoor de oriëntatie en richting kunnen worden bepaald.
Op deze pagina wordt drivetrain_gyro als voorbeeldnaam voor de gyroscoopsensor gebruikt. Vervang dit door uw eigen geconfigureerde naam indien nodig.
Hieronder vindt u een lijst met alle beschikbare methoden:
Acties — Kalibreer of pas de richting en rotatie van de gyroscoopsensor aan.
calibrate— Kalibreert de gyroscoopsensor voor stabiele koersvolging.set_heading— Stelt de richting van de gyroscoopsensor in op een opgegeven waarde.set_rotation— Stelt de rotatiewaarde van de gyroscoopsensor in.reset_heading— Stelt de richting van de gyroscoopsensor in op 0.reset_rotation— Stelt de rotatie van de gyroscoopsensor in op 0.
Getters — Lees de richting, rotatie en status van de gyroscoopsensor.
heading— Geeft de huidige kop weer.rotation— Geeft de cumulatieve rotatie terug.rate— Geeft de hoeksnelheid rond de x-, y- of z-as terug.is_calibrating— Geeft aan of de gyroscoopsensor aan het kalibreren is of niet.installed— Geeft aan of er een gyroscoopsensor op de hersenen is aangesloten.
Callback — Voer code uit wanneer de gyroscoopsensor beweging of verandering detecteert.
changed— Registreert een functie die moet worden aangeroepen wanneer de gyroscoopsensor een verandering detecteert.
Constructors — Initialiseer en configureer handmatig een gyroscoopsensor.
Gyro— Maakt een gyroscoopsensor aan.
Acties#
calibrate#
calibrate kalibreert de gyroscoopsensor. Alle volgende regels wachten tot de kalibratie is voltooid voordat ze worden uitgevoerd. Kalibratie is een interne procedure die sensorruis en -drift meet en compenseert gedurende een bepaalde periode. Gedurende deze tijd moet de gyroscoopsensor volledig stil blijven staan (d.w.z. op een stabiele ondergrond zonder externe beweging). Beweging tijdens de kalibratie leidt tot onnauwkeurige resultaten.
Usage:
calibrate()
Parameter |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
set_heading#
set_heading stelt de richting van de gyroscoopsensor in op een specifieke waarde.
Usage:
set_heading(value, units)
Parameters |
Beschrijving |
|---|---|
waarde |
De in te stellen koptekstwaarde. |
eenheden |
Optioneel. De eenheid die wordt gebruikt om de nieuwe koers aan te geven:
|
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)
set_rotation#
set_rotation stelt de rotatie van de gyroscoopsensor in op een specifieke waarde.
Usage:
set_rotation(value, units)
Parameters |
Beschrijving |
|---|---|
|
De in te stellen koptekstwaarde. |
|
Optioneel. De eenheid die wordt gebruikt om de nieuwe rotatiewaarde weer te geven:
|
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)
reset_heading#
reset_heading zet de richting van de gyroscoopsensor terug naar 0.
Usage:
reset_heading()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)
reset_rotation#
reset_rotation zet de rotatie van de gyroscoopsensor terug naar 0.
Usage:
reset_rotation()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)
Getters#
heading#
heading geeft de huidige richting van de gyroscoopsensor weer.
Usage:
heading(units)
Parameters |
Beschrijving |
|---|---|
|
Optioneel. De eenheid die wordt gebruikt om de richting aan te geven:
|
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())
rotation#
rotation geeft de huidige rotatie van de gyroscoopsensor weer.
Usage:
rotation(units)
Parameters |
Beschrijving |
|---|---|
|
Optioneel. De eenheid die wordt gebruikt om de rotatie weer te geven:
|
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())
rate#
rate geeft de huidige veranderingssnelheid van de rotatie van de gyroscoopsensor weer in de opgegeven eenheden.
Usage:
rate(units)
Parameters |
Beschrijving |
|---|---|
|
Optioneel. De eenheid die wordt gebruikt om de gyroscoopsnelheid weer te geven:
|
# Display the rate of change of
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()
is_calibrating#
is_calibrating controleert of de gyroscoopsensor momenteel aan het kalibreren is.
True— De gyroscoopsensor wordt gekalibreerd.False— De gyroscoopsensor wordt niet gekalibreerd.
Usage:
is_calibrating()
Parameter |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
installed#
installed retourneert een Booleaanse waarde die aangeeft of de gyroscoopsensor is verbonden met de Brain.
True— De gyroscoopsensor is verbonden met de hersenen.False— De gyroscoopsensor is niet verbonden met de hersenen.
Usage:
installed()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
brain.screen.print("Installed!")
Terugbelverzoek#
changed#
changed registreert een callbackfunctie voor het geval de richting van de gyroscoopsensor verandert.
Usage:
changed(callback, arg)
Parameters |
Beschrijving |
|---|---|
|
De callbackfunctie die moet worden aangeroepen wanneer de richting van de gyroscoopsensor verandert. |
|
Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. |
def gyro_changed():
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain_gyro.heading())
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)
Constructeurs#
Constructors worden gebruikt om handmatig Gyro objecten te creëren, die nodig zijn voor het configureren van een gyroscoopsensor buiten VEXcode.
Gyro#
Gyro creëert een gyroscoopsensor.
Usage:
Gyro(smartport)
Parameter |
Beschrijving |
|---|---|
|
De Smart Port waarop de gyroscoopsensor is aangesloten, wordt weergegeven als PORTx, waarbij x het poortnummer is. |
# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)