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
|
提示
模塊說明請參考 紅外深度傳感器