Sukimosi jutiklis#

Įvadas#

Sukimosi jutiklis matuoja veleno sukimąsi. Jį galima naudoti bet kurioje roboto vietoje, kur sukasi velenas, net jei tas velenas nėra tiesiogiai prijungtas prie variklio.

Variklis turi įmontuotą kodavimo įrenginį, kuris gali sekti savo paties sukimąsi. Sukimosi jutiklis veikia kaip išorinis kodavimo įrenginys, galintis sekti atskiro veleno sukimąsi.

Sukimosi jutiklis gali pateikti veleno kampą, padėtį ir greitį. Kampas yra absoliuti veleno padėtis nuo 0 iki 359,99 laipsnių. Jis neatstatomas pradėjus projektą arba išjungus robotą. Padėtis rodo, kiek laipsnių arba apsisukimų velenas pasisuko pirmyn arba atgal projekto metu, ir ją galima nustatyti iš naujo pagal poreikį.

Sukimosi jutiklis suderinamas su 1/8 colio ir 1/4 colio standartiniais VEX velenais.

VEX V5 sukimosi jutiklis.

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

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

  • set_position — Nustato sukimosi jutiklio dabartinę padėtį į konkrečią reikšmę.

  • angle — Grąžina dabartinį veleno kampą nuo 0 iki 359,99 laipsnių.

  • position — Grąžina, kiek velenas pasisuko laipsniais arba apsisukimais.

  • velocity — Grąžina veleno sukimosi greitį.

  • reset_position — Atkuria sukimosi jutiklio dabartinę padėtį į 0.

  • set_reversed — Nustato, ar sukimosi jutiklio išvestis yra atvirkštinė.

  • changed — Registruoja funkciją, kuri bus vykdoma kaskart, kai pasikeičia sukimosi jutiklio vertė.

Konstruktorius – rankiniu būdu inicijuoti sukimosi jutiklį.

  • Rotation – Sukuria sukimosi jutiklį.

nustatyta_pozicija#

set_position nustato sukimosi jutiklio dabartinę padėtį į reikšmę.

Padėtis nurodo, kiek velenas pasisuko projekto metu. Padėties nustatymas pakeičia dabartinę padėties reikšmę nejudinant veleno.

Usage:
rotation_sensor.set_position(position, units)

Parametrai

Aprašymas

position

Padėties reikšmė, kurią reikia priskirti sukimosi jutikliui. Tai gali būti sveikasis skaičius arba dešimtainis skaičius.

units

Pasirinktinai. Padėties vienetas: DEGREES (numatytasis) arba TURNS.

# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)

kampas#

angle grąžina dabartinį veleno kampą kaip slankiojančią reikšmę.

Kampas nurodo veleno absoliučią padėtį per vieną apsisukimą nuo 0 iki 359,99 laipsnių. Jis neatstatomas pradėjus projektą arba išjungus robotą.

Usage:
rotation_sensor.angle(units)

Parametrai

Aprašymas

units

Pasirinktinai. Kampo vienetas: DEGREES (numatytasis) arba TURNS.

pozicija#

position grąžina, kiek pasisuko velenas.

Skirtingai nuo kampo, padėtis gali padidėti virš 359,99 laipsnio arba sumažėti žemiau 0 laipsnių. Padėtis seka, kiek velenas pasisuka į priekį arba atgal projekto metu, ir gali būti iš naujo nustatyta pagal poreikį.

Usage:
rotation_sensor.position(units)

Parametrai

Aprašymas

units

Pasirinktinai. Padėties vienetas: DEGREES (numatytasis) arba TURNS.

greitis#

velocity grąžina veleno sukasi greitį.

Usage:
rotation_sensor.velocity(units)

Parametrai

Aprašymas

units

Greičio vienetas: VelocityUnits.RPM (apsisukimai per minutę) arba VelocityUnits.DPS (laipsniai per sekundę).

atstatymo_pozicija#

reset_position atstato dabartinę sukimosi jutiklio padėtį į 0.

Usage:
rotation_sensor.reset_position()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

nustatytas_apverstas#

set_reversed nustato, ar sukimosi jutiklio išvestis yra atvirkštinė.

Kai apverčiama, teigiamos reikšmės tampa neigiamos, o neigiamos – teigiamos. Šis metodas veikia taip pat, kaip ir nustatant parametrą reverse į True kai naudojamas Rotation konstruktorius.

Usage:
rotation_sensor.set_reversed(value)

Parametrai

Aprašymas

value

Ar apkeisti sukimosi jutiklio išvestį: True arba False.

pasikeitė#

changed registruoja funkciją, kuri bus iškviečiama kaskart, kai pasikeis sukimosi jutiklio vertė.

Usage:
rotation_sensor.changed(callback, arg)

Parametrai

Aprašymas

callback

Anksčiau apibrėžta function, kuri paleidžiama, kai pasikeičia sukimosi jutiklio reikšmė.

arg

Pasirinktinai. Rinkinys su argumentais, kurie turi būti perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas.

def my_function():
  brain.screen.print("Rotated!")

# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)

Konstruktorius#

Konstruktoriai naudojami norint rankiniu būdu sukurti Rotation objektus, pavyzdžiui, konfigūruojant sukimosi jutiklį ne VEXcode.

Rotation#

Rotation sukuria Rotation Sensor objektą.

Usage:
Rotation(smartport)

Parametras

Aprašymas

smartport

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

reverse

Pasirinktinai. Ar pakeisti sukimosi jutiklio išvestį: True arba False (numatytasis).

# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)