姿态传感器

python 编程:

创建实例

  • attitude(port_num)
    创建attitude实例,port_num 可取值为 thunbot.PORT_1,thunbot.PORT_2,thunbot.PORT_3,thunbot.PORT_4,thunbot.PORT_A,thunbot.PORT_B

方法

  • get_x_angle()
    获取姿态传感器绕x轴转过的角度(单位:°)

  • get_y_angle()
    获取姿态传感器绕y轴转过的角度(单位:°)

  • get_z_angle()
    获取姿态传感器绕z轴转过的角度(单位:°)

  • get_x_angle_speed()
    获取姿态传感器绕x轴转动的角速度(单位:°/s)

  • get_y_angle_speed()
    获取姿态传感器绕y轴转动的角速度(单位:°/s)

  • get_z_angle_speed()
    获取姿态传感器绕z轴转动的角速度(单位:°/s)

  • get_x_acc()
    获取姿态传感器x轴的加速度(单位:g)

  • get_y_acc()
    获取姿态传感器y轴的加速度(单位:g)

  • get_z_acc()
    获取姿态传感器z轴的加速度(单位:g)

  • get_pitch()
    获取俯仰角(单位:°,绕y轴旋转的角度)

  • get_roll)
    获取翻滚角(单位:°,绕x轴旋转的角度)

  • get_yaw()
    获取航向角(单位:°,绕z轴旋转的角度)

  • get_shake_intensity()
    获取震动强度 0~100,数值越大表示震动越强烈

  • clear_x_angle()
    清除绕x转过的角度

  • clear_y_angle()
    清除绕y转过的角度

  • clear_z_angle()
    清除绕z转过的角度

  • calibration(type)
    校正类别:0x01 校正陀螺仪、加速度 0x02 校正磁场

  • get_calibration_status()
    获取校正状态 0x00:未校正 0x01:校正中 0x02:校正完成

  • set_gyro_range(range)
    设置陀螺仪的量程,range的取值如下表:

取值 量程
0 ±250°/s
1 ±500°/s
2 ±1000°/s
3 ±2000°/s(默认)
  • set_acc_range(range)
    设置加速度计的量程,range的取值如下表:
取值 量程
0 ±2g
1 ±4g
2 ±8g
3 ±16g
  • get_compass()
    获取电子罗盘的值,默认以正北方向为0°,范围为 0° ~ 360°

  • reset_compass(0x01)
    复位电子罗盘的值,以当前位置为0°

  • set_magnetic_declination(angle)
    设置磁偏角的值

编程示范


import thunbot
import time

a1 = thunbot.attitude(thunbot.PORT_1)

for i in range(0,2000):
  print("x_angle:",a1.get_x_angle())
  time.sleep_ms(10)
a1.clear_x_angle()
time.sleep_ms(1)
print(a1.get_x_angle())
time.sleep(2)

for i in range(0,2000):
  print("y_angle:",a1.get_y_angle())
  time.sleep_ms(10)
a1.clear_y_angle()
time.sleep_ms(1)
print(a1.get_y_angle())
time.sleep(2)

for i in range(0,2000):
  print("z_angle:",a1.get_z_angle())
  time.sleep_ms(10)
a1.clear_z_angle()
time.sleep_ms(1)
print(a1.get_z_angle())
time.sleep(2)

for i in range(0,2000):
  print("x_angle_speed:",a1.get_x_angle_speed())
  time.sleep_ms(10)
for i in range(0,2000):
  print("y_angle_speed:",a1.get_y_angle_speed())
  time.sleep_ms(10)  
for i in range(0,2000):
  print("z_angle_speed:",a1.get_z_angle_speed())
  time.sleep_ms(10)

for i in range(0,2000):
  print("x_acc:",a1.get_x_acc())
  time.sleep_ms(10)
for i in range(0,2000):
  print("y_acc:",a1.get_y_acc())
  time.sleep_ms(10)  
for i in range(0,2000):
  print("z_acc:",a1.get_z_acc())
  time.sleep_ms(10)

for i in range(0,2000):
  print("pitch:",a1.get_pitch())
  time.sleep_ms(10)
for i in range(0,2000):
  print("roll:",a1.get_roll())
  time.sleep_ms(10)
for i in range(0,2000):
  print("horiz:",a1.get_horiz())
  time.sleep_ms(10)

for i in range(0,2000):
  print("shock:",a1.get_shock())
  time.sleep_ms(10)

a1.set_shock_sensitivity(6)

for i in range(0,2000):
  print("6_shock:",a1.get_shock())
  time.sleep_ms(10)

for i in range(0,200):
  print("cal_status:",a1.get_calibration_status())
  time.sleep_ms(10)

a1.calibration(0x01)

for i in range(0,200):
  print("__cal_status:",a1.get_calibration_status())
  time.sleep_ms(10)

for i in range(0,200):
  print("ver:",a1.get_version())
  time.sleep_ms(10)

results matching ""

    No results matching ""