ഗൈറോ#

ആമുഖം#

ഗൈറോ സെൻസർ എന്നത് ഒരു അച്ചുതണ്ടിന് ചുറ്റുമുള്ള ഭ്രമണം കണ്ടെത്തുന്ന ഒരു ചലന സെൻസറാണ്. റോബോട്ട് എത്രത്തോളം തിരിഞ്ഞിട്ടുണ്ടെന്ന് ഇതിന് അളക്കാൻ കഴിയും, ഇത് ഓറിയന്റേഷനും തലക്കെട്ടും ട്രാക്ക് ചെയ്യാൻ അനുവദിക്കുന്നു.

ഈ പേജിൽ ഗൈറോ സെൻസർ നാമത്തിന്റെ ഉദാഹരണമായി drivetrain_gyro ഉപയോഗിക്കുന്നു. ആവശ്യാനുസരണം നിങ്ങളുടെ സ്വന്തം കോൺഫിഗർ ചെയ്ത പേര് ഉപയോഗിച്ച് അത് മാറ്റിസ്ഥാപിക്കുക.

ലഭ്യമായ എല്ലാ രീതികളുടെയും ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

പ്രവർത്തനങ്ങൾ — ഗൈറോ സെൻസറിന്റെ തലക്കെട്ടും ഭ്രമണവും കാലിബ്രേറ്റ് ചെയ്യുക അല്ലെങ്കിൽ ക്രമീകരിക്കുക.

  • calibrate — സ്ഥിരതയുള്ള ഹെഡിംഗ് ട്രാക്കിംഗിനായി ഗൈറോ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നു.

  • set_heading — ഗൈറോ സെൻസറിന്റെ ഹെഡിംഗ് ഒരു നിർദ്ദിഷ്ട മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

  • set_rotation — ഗൈറോ സെൻസറിന്റെ ഭ്രമണ മൂല്യം സജ്ജമാക്കുന്നു.

  • reset_heading — ഗൈറോ സെൻസറിന്റെ തലക്കെട്ട് 0 ആയി സജ്ജമാക്കുന്നു.

  • reset_rotation — ഗൈറോ സെൻസറിന്റെ ഭ്രമണം 0 ആയി സജ്ജമാക്കുന്നു.

ഗെറ്ററുകൾ — ഗൈറോ സെൻസറിന്റെ തലക്കെട്ട്, ഭ്രമണം, സ്റ്റാറ്റസ് എന്നിവ വായിക്കുക.

  • heading — നിലവിലെ തലക്കെട്ട് നൽകുന്നു.

  • rotation — സഞ്ചിത ഭ്രമണം നൽകുന്നു.

  • rate — x, y, അല്ലെങ്കിൽ z അക്ഷത്തിന് ചുറ്റുമുള്ള കോണീയ പ്രവേഗം നൽകുന്നു.

  • is_calibrating — ഗൈറോ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നുണ്ടോ ഇല്ലയോ എന്ന് നൽകുന്നു.

  • installed — ഒരു ഗൈറോ സെൻസർ തലച്ചോറുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ ഇല്ലയോ എന്ന് നൽകുന്നു.

കോൾബാക്ക് — ഗൈറോ സെൻസർ ചലനമോ മാറ്റമോ കണ്ടെത്തുമ്പോൾ കോഡ് പ്രവർത്തിപ്പിക്കുക.

  • changed — ഗൈറോ സെൻസർ മാറ്റം കണ്ടെത്തുമ്പോൾ വിളിക്കാൻ ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

കൺസ്ട്രക്റ്റർമാർ — ഒരു ഗൈറോ സെൻസർ സ്വമേധയാ ഇനീഷ്യലൈസ് ചെയ്ത് കോൺഫിഗർ ചെയ്യുക.

  • Gyro — ഒരു ഗൈറോ സെൻസർ സൃഷ്ടിക്കുന്നു.

പ്രവർത്തനങ്ങൾ#

calibrate#

calibrate ഗൈറോ സെൻസറിനെ കാലിബ്രേറ്റ് ചെയ്യുന്നു. തുടർന്നുള്ള എല്ലാ ലൈനുകളും എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് കാലിബ്രേഷൻ പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കും. ഒരു നിശ്ചിത കാലയളവിൽ സെൻസർ ശബ്ദവും ഡ്രിഫ്റ്റും അളക്കുകയും നഷ്ടപരിഹാരം നൽകുകയും ചെയ്യുന്ന ഒരു ആന്തരിക നടപടിക്രമമാണ് കാലിബ്രേഷൻ. ഈ സമയത്ത്, ഗൈറോ സെൻസർ പൂർണ്ണമായും നിശ്ചലമായിരിക്കണം (അതായത്, ബാഹ്യ ചലനങ്ങളൊന്നുമില്ലാതെ സ്ഥിരതയുള്ള പ്രതലത്തിൽ). കാലിബ്രേഷൻ സമയത്ത് ചലനം കൃത്യമല്ലാത്ത ഫലങ്ങൾ നൽകും.

Usage:
calibrate()

പാരാമീറ്റർ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# 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 ഗൈറോ സെൻസറിന്റെ ഹെഡിംഗ് ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

Usage:
set_heading(value, units)

പാരാമീറ്ററുകൾ

വിവരണം

മൂല്യം

സജ്ജീകരിക്കേണ്ട തലക്കെട്ട് മൂല്യം.

യൂണിറ്റുകൾ

ഓപ്ഷണൽ. പുതിയ തലക്കെട്ടിനെ പ്രതിനിധീകരിക്കാൻ ഉപയോഗിക്കുന്ന യൂണിറ്റ്:

  • DEGREES (സ്ഥിരസ്ഥിതി)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation ഗൈറോ സെൻസറിന്റെ ഭ്രമണത്തെ ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

Usage:
set_rotation(value, units)

പാരാമീറ്ററുകൾ

വിവരണം

value

സജ്ജീകരിക്കേണ്ട തലക്കെട്ട് മൂല്യം.

units

ഓപ്ഷണൽ. പുതിയ റൊട്ടേഷൻ മൂല്യം പ്രതിനിധീകരിക്കാൻ ഉപയോഗിക്കുന്ന യൂണിറ്റ്:

  • DEGREES (സ്ഥിരസ്ഥിതി)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading ഗൈറോ സെൻസറിന്റെ ഹെഡിംഗ് 0 ആയി പുനഃസജ്ജമാക്കുന്നു.

Usage:
reset_heading()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# 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 ഗൈറോ സെൻസറിന്റെ ഭ്രമണം 0 ആയി പുനഃസജ്ജമാക്കുന്നു.

Usage:
reset_rotation()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# 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)

ഗെറ്ററുകൾ#

heading#

heading ഗൈറോ സെൻസറിന്റെ നിലവിലെ തലക്കെട്ട് നൽകുന്നു.

Usage:
heading(units)

പാരാമീറ്ററുകൾ

വിവരണം

units

ഓപ്ഷണൽ. തലക്കെട്ടിനെ പ്രതിനിധീകരിക്കാൻ ഉപയോഗിക്കുന്ന യൂണിറ്റ്:

  • DEGREES (സ്ഥിരസ്ഥിതി)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation ഗൈറോ സെൻസറിന്റെ നിലവിലെ റൊട്ടേഷൻ നൽകുന്നു.

Usage:
rotation(units)

പാരാമീറ്ററുകൾ

വിവരണം

units

ഓപ്ഷണൽ. ഭ്രമണത്തെ പ്രതിനിധീകരിക്കാൻ ഉപയോഗിക്കുന്ന യൂണിറ്റ്:

  • DEGREES (സ്ഥിരസ്ഥിതി)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate എന്നത് നിർദ്ദിഷ്ട യൂണിറ്റുകളിൽ ഗൈറോ സെൻസറിന്റെ ഭ്രമണത്തിന്റെ നിലവിലെ മാറ്റ നിരക്ക് നൽകുന്നു.

Usage:
rate(units)

പാരാമീറ്ററുകൾ

വിവരണം

units

ഓപ്ഷണൽ. ഗൈറോ നിരക്ക് പ്രതിനിധീകരിക്കാൻ ഉപയോഗിക്കുന്ന യൂണിറ്റ്:

  • DPS (സ്ഥിരസ്ഥിതി)
  • RPM
  • PERCENT
# 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 പരിശോധിക്കുന്നു.

  • True — ഗൈറോ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നു.

  • False — ഗൈറോ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നില്ല.

Usage:
is_calibrating()

പാരാമീറ്റർ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# 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 ഗൈറോ സെൻസർ തലച്ചോറുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ തിരികെ നൽകുന്നു.

  • True — ഗൈറോ സെൻസർ തലച്ചോറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു.

  • False — ഗൈറോ സെൻസർ തലച്ചോറുമായി ബന്ധിപ്പിച്ചിട്ടില്ല.

Usage:
installed()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
    brain.screen.print("Installed!")

തിരിച്ചുവിളിക്കുക#

changed#

ഗൈറോ സെൻസറിന്റെ തലക്കെട്ട് മാറുമ്പോൾ changed ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

Usage:
changed(callback, arg)

പാരാമീറ്ററുകൾ

വിവരണം

callback

ഗൈറോ സെൻസർ ഹെഡിംഗ് മാറുമ്പോൾ വിളിക്കേണ്ട കോൾബാക്ക് ഫംഗ്ഷൻ.

arg

ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറേണ്ട ഒരു കൂട്ടം ആർഗ്യുമെന്റുകൾ.

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)

കൺസ്ട്രക്‌ടർമാർ#

VEXcode-ന് പുറത്ത് ഒരു Gyro സെൻസർ കോൺഫിഗർ ചെയ്യുന്നതിന് ആവശ്യമായ Gyro ഒബ്‌ജക്റ്റുകൾ സ്വമേധയാ സൃഷ്ടിക്കാൻ കൺസ്ട്രക്‌ടറുകൾ ഉപയോഗിക്കുന്നു.

Gyro#

Gyro ഒരു ഗൈറോ സെൻസർ സൃഷ്ടിക്കുന്നു.

Usage:
Gyro(smartport)

പാരാമീറ്റർ

വിവരണം

smartport

ഗൈറോ സെൻസർ ബന്ധിപ്പിച്ചിരിക്കുന്ന സ്മാർട്ട് പോർട്ട്, PORTx എന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ x എന്നത് പോർട്ടിന്റെ നമ്പറാണ്.

# 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)