SlideShare a Scribd company logo
1 of 33
Download to read offline
四路顏色感測器應用
Revised on November 11, 2022
 巡線控制原理
 設計直線巡線自走車
 彎道巡線處理程序
 設計彎道巡線自走車
 使用偏差值修正車子行進
 避障處理程序
 設計巡線避障自走車
 顏色識別
 設計彎道巡線紅燈暫停自走車
 Quad RGB Sensor 使用可見光作為補光,顯著降低了環境光的干擾。
除了用來識別顏色之外,也可做為巡線感測之用
四路顏色感測器
2
mBuild連接埠 mBuild連接埠
光線感測器4
補光燈4
軌道追踨狀態LED4
調校按鈕
 白色有較強反射光,深色軌道反射光相對較弱
 四路顏色感測器校準
 如果 mBot2 巡線控制效果不佳,應進行 Quad RGB 感測器基本校準
1. 將 mBot2 放置在軌道圖的背景上,然後雙擊調校按鈕
2. 四路顏色感測器之軌道追踪狀態 LED 開始快速閃爍,平移車子使四路
顏色感測器緩慢滑過軌道,直到 LED 停止閃爍。大約需要 2.5 秒。就
會自動存儲獲得的參數值
3. 如果學習失敗,指示燈會慢閃,需要重新開始學習
註:⻑按調校按鈕,可切換補光燈的顏色。⼀般來說,並不需要⼿動改變顏色。學習
完成後會自動設置補光燈顏色
巡線控制原理 1/4
3
 路線檢測初級應用
 使用中間二顆顏色感測器 (L1及R1) 檢測軌道狀況
巡線控制原理 2/4
4
傳回值3,保持前進 傳回值2,應向左修正 傳回值1,應向右修正 傳回值0,策略?
 中級應用
 使用四顆顏色感測器檢測軌道狀況
巡線控制原理 3/4
5
傳回值7,右直角
傳回值15,無法判別T路口或十字路口
直接駛過 T 並檢查線路是否繼續
傳回值14,左直角
傳回值6 傳回值6 傳回值6
 進階應用
 讀取偏差值,介於 -100~100 之間
 正值表示車子偏右,負值表示車子偏左。偏差值愈大表示車子愈偏離軌道
中心
 補光的顏色可能對輸出值有輕微影響。切換補光燈的顏色,確保自走車放
在直線中間時輸出值為 0
 能在車子還未駛離出軌道前即時修正
巡線控制原理 4/4
6
回轉巡線處理程序
7
高速回轉直到左側巡線慼測器進入軌道
低速回轉直到自走車回到軌道
 功能要求
 按下 CyberPi 按鍵 B,mBot2 開始前進
 到達黑色軌道線盡頭時,自動調頭回轉
 按下 CyberPi 按鍵 A,停止動作
設計直線巡線自走車 1/3
8
左回轉
左回轉
 參考程式
 新增 u_turn 積木指令
設計直線巡線自走車 2/3
9
設計直線巡線自走車 3/3
10
 使用變數累計自走車偏離軌道程度
彎道巡線處理程序 1/2
11
-5 5
0
非常偏左 非常偏右
車子偏左,須向右修正 車子偏右,須向左修正
 依據 pilot 變數值,修正 mBot2 左右輪動力
 當偏移值 = 5 (偏右)
 左輪 = 50 - 8*5 = 10
 右輪 = -50 - 8*5 = -90
 當偏移值 = -5 (偏左)
 左輪 = 50 - 8*(-5) = 90
 右輪 = -50 - 8*(-5) = -10
彎道巡線處理程序 2/2
12
 功能要求
 按下 CyberPi 按鍵 B,mBot2 開始前進
 當 mBot2 偏離黑色軌道線時,以配速方式轉彎方式調整 mBot2 方向,使
mBot2 循著黑色軌道前進
 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線自走車 1/3
13
 參考程式
 建立 pilot 變數
設計彎道巡線自走車 2/3
14
設計彎道巡線自走車 3/3
15
 使用偏差值即時修正車子左右輪配速,只要車子偏離中心點就會開始
修正,而不是等感測器超出軌道再修正,車子行進會更順暢
 讀取偏差值,介於 -100~100 之間
 正值表示車子偏右,負值表示車子偏左。偏差值愈大表示車子愈偏離軌道
中心
使用偏差值修正車子行進 1/2
16
 將偏差值換算 pilot 變數值
 依據 pilot 變數值,修正 mBot2 左右輪動力
 當偏移值 = 5 (偏右)
 左輪 = 50 - 8*5 = 10
 右輪 = -50 - 8*5 = -90
 當偏移值 = -5 (偏左)
 左輪 = 50 - 8*(-5) = 90
 右輪 = -50 - 8*(-5) = -10
使用偏差值修正車子行進 2/2
17
 功能要求
 按下 CyberPi 按鍵 B,mBot2 開始前進
 當 mBot2 偏離黑色軌道中心時,以配速方式轉彎方式調整 mBot2 方向,
使 mBot2 循著黑色軌道前進
 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線自走車II 1/2
18
 參考程式
 建立pilot變數
設計彎道巡線自走車II 2/2
19
 須視障礙物大小,調整旋彎及轉彎角度
避障處理程序
20
偵測到障礙物時,原地右轉後前進一段距離
左彎前進
等右側循線進入軌道後,右彎前進,直到回到軌道直線前進
 功能要求
 按下 CyberPi 按鍵B,mBot2 開始前進
 遇到障礙物時繞道避開障礙物,並回到軌道繼續前進
 到達黑色軌道線盡頭時,自動回轉
 按下 CyberPi 按鍵 A,停止動作
 設計注意事項
 須調校轉彎角度及速度
設計避障巡線自走車 1/5
21
左回轉
左回轉
左回轉
繞過障礙物
 參考程式
 新增 route、u_turn 積木指令
設計避障巡線自走車 2/5
22
設計避障巡線自走車 3/5
23
須依據障礙物調校繞路弧度
設計避障巡線自走車 4/5
24
設計避障巡線自走車 5/5
25
 巡軌指令也可應用於顏色判讀
 當四路顏色傳感器位於紅色區塊上,回傳值為 3
顏色識別
26
 功能要求
 按下 CyberPi 按鍵 B,mBot2 開始前進
 當 mBot2 偏離黑色軌道中心時,以配速方式轉彎方式調整 mBot2 方向,
使 mBot2 循著黑色軌道前進。遇到紅色區塊時暫停3秒後繼續前進
 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線紅燈暫停自走車 1/3
27
 參考程式
 建立 pilot 變數
設計彎道巡線紅燈暫停自走車 2/3
28
設計彎道巡線紅燈暫停自走車 3/3
29
 顏色感測器時可能因環境光或其它因素而存在色差,影響顏色識別的
準確度,此時可改用以下指令檢測顏色讀值,做為程式進行顏色判讀
的基準
 設定自定義顏色
 表示紅色值介於 185~215,綠色值介於 35~0,藍色值介於 35~0
 判斷顏色感測器是否在自定義顏色上(注意回傳值只有 0 與 1)
自定義顏色識別
30
 功能要求
 按下 CyberPi 按鍵 B,mBot2 開始前進
 當 mBot2 偏離黑色軌道中心時,以配速方式轉彎方式調整 mBot2 方向,
使 mBot2 循著黑色軌道前進。遇到紅色區塊時暫停3秒後繼續前進
 按下 CyberPi 按鍵 A,停止動作
設計彎道巡線紅燈暫停自走車II 1/3
31
 參考程式
 建立 pilot 變數
設計彎道巡線紅燈暫停自走車II 2/3
32
設計彎道巡線紅燈暫停自走車II 3/3
33

More Related Content

What's hot

What's hot (20)

mBot 教學8 巡跡控制應用
mBot 教學8 巡跡控制應用mBot 教學8 巡跡控制應用
mBot 教學8 巡跡控制應用
 
mBot教學(4) - 移動控制
mBot教學(4) - 移動控制mBot教學(4) - 移動控制
mBot教學(4) - 移動控制
 
mBlock積木式設計程式
mBlock積木式設計程式mBlock積木式設計程式
mBlock積木式設計程式
 
mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用
 
mbot2.0教學-使用makeblock雲服務.pdf
mbot2.0教學-使用makeblock雲服務.pdfmbot2.0教學-使用makeblock雲服務.pdf
mbot2.0教學-使用makeblock雲服務.pdf
 
mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用
 
mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式
 
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v72017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
 
mBot教學(8) - 巡線控制應用
mBot教學(8) - 巡線控制應用mBot教學(8) - 巡線控制應用
mBot教學(8) - 巡線控制應用
 
mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用
 
mBot教學(1) - mBot初體驗
mBot教學(1) - mBot初體驗mBot教學(1) - mBot初體驗
mBot教學(1) - mBot初體驗
 
教學(10) 藍牙控制應用
教學(10)藍牙控制應用教學(10)藍牙控制應用
教學(10) 藍牙控制應用
 
mBot 教學3 開發mBot應用程式
mBot 教學3 開發mBot應用程式mBot 教學3 開發mBot應用程式
mBot 教學3 開發mBot應用程式
 
mBot 教學6 光感測器與LED應用
mBot 教學6 光感測器與LED應用mBot 教學6 光感測器與LED應用
mBot 教學6 光感測器與LED應用
 
機器人齊步走 V4 m_bot_mblock
機器人齊步走 V4 m_bot_mblock機器人齊步走 V4 m_bot_mblock
機器人齊步走 V4 m_bot_mblock
 
mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用
 
mBot教學(9)- 紅外線傳輸應用
mBot教學(9)-紅外線傳輸應用mBot教學(9)-紅外線傳輸應用
mBot教學(9)- 紅外線傳輸應用
 
Scratch程式教學 第三週
Scratch程式教學 第三週Scratch程式教學 第三週
Scratch程式教學 第三週
 
mBot教學(5) - 超音波感測應用
mBot教學(5) - 超音波感測應用mBot教學(5) - 超音波感測應用
mBot教學(5) - 超音波感測應用
 
mBot教學(3) - 開發mBot應用程式
mBot教學(3) - 開發mBot應用程式mBot教學(3) - 開發mBot應用程式
mBot教學(3) - 開發mBot應用程式
 

More from 吳錫修 (ShyiShiou Wu)

More from 吳錫修 (ShyiShiou Wu) (20)

mbot2.0教學-聲光控制應用.pdf
mbot2.0教學-聲光控制應用.pdfmbot2.0教學-聲光控制應用.pdf
mbot2.0教學-聲光控制應用.pdf
 
Python元組,字典,集合
Python元組,字典,集合Python元組,字典,集合
Python元組,字典,集合
 
Python函式
Python函式Python函式
Python函式
 
Python串列資料應用
Python串列資料應用Python串列資料應用
Python串列資料應用
 
Python 迴圈作業
Python 迴圈作業Python 迴圈作業
Python 迴圈作業
 
Python分支作業
Python分支作業Python分支作業
Python分支作業
 
Python基本資料運算
Python基本資料運算Python基本資料運算
Python基本資料運算
 
建置Python開發環境
建置Python開發環境建置Python開發環境
建置Python開發環境
 
micro:bit加速度感測應用
micro:bit加速度感測應用micro:bit加速度感測應用
micro:bit加速度感測應用
 
C語言檔案處理
C語言檔案處理C語言檔案處理
C語言檔案處理
 
C語言列舉與聯合
C語言列舉與聯合C語言列舉與聯合
C語言列舉與聯合
 
C語言結構與串列
C語言結構與串列 C語言結構與串列
C語言結構與串列
 
C語言應用前置處理
C語言應用前置處理C語言應用前置處理
C語言應用前置處理
 
C語言函式
C語言函式C語言函式
C語言函式
 
C語言陣列與字串
C語言陣列與字串C語言陣列與字串
C語言陣列與字串
 
C語言迴圈作業
C語言迴圈作業C語言迴圈作業
C語言迴圈作業
 
C語言分支流程
C語言分支流程C語言分支流程
C語言分支流程
 
C語言運算式和運算子
C語言運算式和運算子C語言運算式和運算子
C語言運算式和運算子
 
C語言基本資料型別與變數
C語言基本資料型別與變數C語言基本資料型別與變數
C語言基本資料型別與變數
 
C語言標準輸出入函式
C語言標準輸出入函式C語言標準輸出入函式
C語言標準輸出入函式
 

mbot2.0教學-四路顏色感測器應用.pdf