Giroskop#

Perkenalan#

Sensor Gyro adalah sensor gerak yang mendeteksi rotasi di sekitar satu sumbu. Sensor ini dapat mengukur seberapa banyak robot telah berputar, sehingga memungkinkan robot untuk melacak orientasi dan arah.

Halaman ini menggunakan drivetrain_gyro sebagai contoh nama Sensor Gyro. Ganti dengan nama yang Anda konfigurasi sendiri sesuai kebutuhan.

Berikut adalah daftar semua metode yang tersedia:

Tindakan — Kalibrasi atau sesuaikan arah dan rotasi Sensor Giroskop.

  • calibrate — Mengkalibrasi Sensor Gyro untuk pelacakan arah yang stabil.

  • set_heading — Mengatur arah sensor giroskop ke nilai tertentu.

  • set_rotation — Mengatur nilai rotasi Sensor Gyro.

  • reset_heading — Mengatur arah sensor giroskop menjadi 0.

  • reset_rotation — Mengatur rotasi Sensor Gyro menjadi 0.

Getter — Membaca arah, rotasi, dan status Sensor Giroskop.

  • heading — Mengembalikan heading saat ini.

  • rotation — Mengembalikan rotasi kumulatif.

  • rate — Mengembalikan kecepatan sudut di sekitar sumbu x, y, atau z.

  • is_calibrating — Mengembalikan apakah Sensor Gyro sedang melakukan kalibrasi atau tidak.

  • installed — Mengembalikan apakah Sensor Giroskop terhubung ke Otak atau tidak.

Callback — Jalankan kode saat Sensor Giroskop mendeteksi gerakan atau perubahan.

  • changed — Mendaftarkan fungsi yang akan dipanggil ketika Sensor Gyro mendeteksi perubahan.

Konstruktor — Menginisialisasi dan mengkonfigurasi Sensor Giroskop secara manual.

  • Gyro — Membuat Sensor Giroskop.

Tindakan#

calibrate#

calibrate mengkalibrasi Sensor Giroskop. Semua baris selanjutnya akan menunggu kalibrasi selesai sebelum dieksekusi. Kalibrasi adalah prosedur internal yang mengukur dan mengkompensasi noise dan drift sensor selama periode waktu tertentu. Selama waktu ini, Sensor Giroskop harus tetap diam sepenuhnya (yaitu, di permukaan yang stabil tanpa gerakan eksternal apa pun). Gerakan selama kalibrasi akan menghasilkan hasil yang tidak akurat.

Usage:
calibrate()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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 mengatur arah (heading) Sensor Gyro ke nilai tertentu.

Usage:
set_heading(value, units)

Parameter

Keterangan

nilai

Nilai judul yang akan ditetapkan.

satuan

Opsional. Satuan yang digunakan untuk mewakili arah baru:

  • DEGREES (standar)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation mengatur rotasi Sensor Gyro ke nilai tertentu.

Usage:
set_rotation(value, units)

Parameter

Keterangan

value

Nilai judul yang akan ditetapkan.

units

Opsional. Satuan yang digunakan untuk mewakili nilai rotasi baru:

  • DEGREES (standar)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading mengatur ulang arah (heading) Sensor Gyro ke 0.

Usage:
reset_heading()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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 mengatur ulang rotasi Sensor Gyro ke 0.

Usage:
reset_rotation()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

Pencari#

heading#

heading mengembalikan arah (heading) sensor giroskop saat ini.

Usage:
heading(units)

Parameter

Keterangan

units

Opsional. Satuan yang digunakan untuk mewakili arah:

  • DEGREES (standar)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation mengembalikan rotasi sensor giroskop saat ini.

Usage:
rotation(units)

Parameter

Keterangan

units

Opsional. Satuan yang digunakan untuk mewakili rotasi:

  • DEGREES (standar)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate mengembalikan laju perubahan rotasi Sensor Gyro saat ini dalam satuan yang ditentukan.

Usage:
rate(units)

Parameter

Keterangan

units

Opsional. Satuan yang digunakan untuk mewakili kecepatan giroskop:

  • DPS (standar)
  • 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 memeriksa apakah Sensor Gyro sedang dalam proses kalibrasi.

  • True — Sensor Giroskop sedang dikalibrasi.

  • False — Sensor Giroskop tidak sedang dikalibrasi.

Usage:
is_calibrating()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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 mengembalikan nilai Boolean yang menunjukkan apakah Sensor Giroskop terhubung ke Otak.

  • True — Sensor Giroskop terhubung ke Otak.

  • False — Sensor Giroskop tidak terhubung ke Otak.

Usage:
installed()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

Panggilan balik#

changed#

changed mendaftarkan fungsi callback untuk saat arah sensor giroskop berubah.

Usage:
changed(callback, arg)

Parameter

Keterangan

callback

Fungsi callback yang akan dipanggil ketika arah sensor giroskop berubah.

arg

Opsional. Sebuah tuple argumen yang akan diteruskan ke fungsi callback.

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)

Konstruktor#

Konstruktor digunakan untuk membuat objek Gyro secara manual, yang diperlukan untuk mengkonfigurasi Sensor Gyro di luar VEXcode.

Gyro#

Gyro menciptakan Sensor Giroskop.

Usage:
Gyro(smartport)

Parameter

Keterangan

smartport

Port Pintar tempat Sensor Giroskop terhubung, ditulis sebagai PORTx di mana x adalah nomor port.

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