姿态传感器
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)