3.10. 紅外深度傳感器

ir_distance_sensor_ctrl.enable_measure(port_id)
描述:開啟紅外深度傳感器測距功能
參數:port_id (int) – 紅外深度傳感器模塊編號,範圍為[1:4]
傳回:
示例:ir_distance_sensor_ctrl.enable_measure(1)
示例說明:開啟 1 號紅外深度傳感器測距功能
ir_distance_sensor_ctrl.disable_measure(port_id)
描述:關閉紅外深度傳感器測距功能
參數:port_id (int) – 紅外深度傳感器模塊編號,範圍為[1:4]
傳回:
示例:ir_distance_sensor_ctrl.disable_measure(1)
示例說明:關閉 1 號紅外深度傳感器測距功能
ir_distance_sensor_ctrl.get_distance_info(port_id)
描述:獲取紅外深度傳感器測距信息
參數:port_id (int) – 紅外深度傳感器模塊編號,範圍為[1:4]
傳回:紅外深度傳感器前方障礙物的距離,精確度為 1 cm
傳回型態:uint16
示例:ir_distance_sensor_ctrl.get_distance_info(1)
示例說明:獲取 1 號紅外深度傳感器測距信息
def ir_distance_[port_id]_[compare_type]_[dist]_event(msg):
描述:

當檢測到紅外深度傳感器模塊前方障礙物距離滿足條件時,運行函數內程序

參數:
  • port_id (int) – 紅外深度傳感器模塊編號,範圍為[1:4]
  • compare_type – 比較類型,可以為 eq, ge, gt, le, lt, 分別表示等於,大於等於,大於,小於等於,小於
  • dist – 用於比較的距離,精確度為 1 cm,範圍為 5~500 cm,誤差率為 5%
傳回:

示例:
1
2
3
4
#當檢測到 1 號紅外深度傳感器前方障礙物距離小於 10 cm 時,運行函數內程序

def ir_distance_1_lt_10_event(msg):
    pass
ir_distance_sensor_ctrl.cond_wait('ir_distance_[port_id]_[compare_type]_[dist]')
描述:

等待紅外深度傳感器模塊前方障礙物距離滿足條件時,執行下一條指令

參數:
  • 'ir_distance_[port_id]_[compare_type]_[dist]' – 用於距離比較的字符串,含模塊編號,比較類型和距離
  • port_id (int) – 紅外深度傳感器模塊編號,範圍為[1:4]
  • compare_type – 比較類型,可以為 eq, ge, gt, le, lt, 分別表示等於,大於等於,大於,小於等於,小於
  • dist – 用於比較的距離,精確度為 1 cm,範圍為 5~500 cm,誤差率為 5%
傳回:

示例:

ir_distance_sensor_ctrl.cond_wait('ir_distance_1_gt_50')

示例說明:

等待 1 號紅外深度傳感器模塊前方障礙物距離大於 50 cm 時,執行下一條指令

ir_distance_sensor_ctrl.check_condition('ir_distance_[port_id]_[compare_type]_[dist]')
描述:

判斷紅外深度傳感器模塊前方障礙物距離是否滿足條件

參數:
  • 'ir_distance_[port_id]_[compare_type]_[dist]' – 用於距離比較的字符串,含模塊編號,比較類型和距離
  • port_id (int) – 紅外深度傳感器模塊編號,範圍為[1:4]
  • compare_type – 比較類型,可以為 eq, ge, gt, le, lt, 分別表示等於,大於等於,大於,小於等於,小於
  • dist – 用於比較的距離,精確度為 1 cm,範圍為 5~500 cm,誤差率為 5%
傳回:

是否滿足條件,滿足條件時返回真,否則返回假。

傳回型態:

bool

示例:
1
2
3
4
#當檢測到 1 號紅外深度傳感器前方障礙物距離小於 10 cm 時,運行函數內程序

if ir_distance_sensor_ctrl.check_condition('ir_distance_1_gt_50'):
    pass

提示

模塊說明請參考 紅外深度傳感器