#### 回到 [`教學大綱`](https://md.kingkit.codes/s/siSKyknlU) / [`Web:AI MoonCar`](https://md.kingkit.codes/s/vjyIDVvIq)
<style>
blockquote.announcement {
background-color: #f4aa14;
height: 50px;
width: 100%;
display: flex;
justify-content: center;
border-left: none;
}
blockquote.announcement p {
color: white;
height: 100%;
align-items: center;
display: flex;
}
.announcement a {
background-color: rgba(0, 0, 0, 0.2);
text-decoration: none;
padding: 6px 16px;
border: 1px;
border-radius: 8px;
color: #fff;
line-height: 30px;
}
</style>
<blockquote class="announcement">
<p>
Webduino 學習手冊網站即將改版,提供您更好的閱讀體驗!<a
href="https://resource.webduino.io/docs/webai"
target="_blank"
rel="noopener"
>搶先試用</a
>
</p>
</blockquote>
# 循跡自走
Web:AI MoonCar 底盤前方具備了兩個 IR 循線感測器,只要將黑色膠帶貼在地面,並使用簡單的幾塊積木,就可以讓 MoonCar 快速達成循跡自動駕駛功能。
![](/uploads/upload_359799094bef6b05ee5eccfffaf10160.jpg =550x)
## 循跡原理
MoonCar IR 循線感測器會向下發出垂直地面的紅外線 ( IR ),當紅外線照射到路面及黑色物體時,會產生不同的反射結果,根據偵測反射的結果來控制小車的動作。
- 偵測地面:紅外線被反射 → 感測器偵測到反射的紅外線 → LED 不亮
- 偵測黑色膠帶:紅外線被吸收 → 感測器偵測未偵測紅外線反射 → LED 亮綠燈
![](/uploads/upload_38c691d7c27fa4c0a66509e72e40a954.png)
## 循跡設定
「循跡設定」積木可以依照 IR 循線感測器偵測的結果來做方向控制,IR 循線感測器訊號分為:
- ○○:無黑線
- ○●:右感測器有黑線
- ●○:左感測器有黑線
- ●●:左右感測器皆有黑線
> 有偵測到黑色膠帶會亮綠燈指示,積木為 ●。
> 未偵測到黑色膠帶不會亮燈,積木為 ○。
一般情境使用設定會如下:
![](/uploads/upload_ecd5e26123b27176815d979661d93f43.png)
![](/uploads/upload_89cb4105366acedcab28cc4487e99038.png)
### 範例:基本循跡自走
只需要使用 3 塊積木,就能讓 Web:AI MoonCar 開始循跡自走!
#### ➤ 前往 [`範例連結`](https://ai-blockly.webduino.io/?hashid=bOd81mRPE5#/)
1. 設定 MoonCar 的速度。
![](/uploads/upload_13c5385fc7eaef21c6c6cb5cc5e01751.png)
2. 使用「循跡設定」積木,執行後即可開始基本循跡自走。
![](/uploads/upload_db931b67ab63cf48c9d37dd3cfdc6b45.png)
3. 也可以另外放入「小怪獸說話」積木,將 MoonCar 的運作情形顯示在網頁互動區上。
![](/uploads/upload_ce5f2c46e78e34e2108a81ecc0a0a4bc.png)
> 循跡功能會受到膠帶軌跡、車速快慢、小車電量影響,循跡不順時可以調整這 3 個條件來達到最好的循跡效果。
## 啟動 ( 停止 ) 循跡
除了設定循跡外,更可以使用「啟動循跡」和「停止循跡」積木來控制啟動和停止。
![](/uploads/upload_f8b1e16a374a0e720d53920aed33e35a.png)
### 範例:小怪獸循跡開關
#### ➤ 前往 [`範例連結`](https://ai-blockly.webduino.io?hashid=b86LJqAd2K)
1. 首先設定初始速度及設定循跡。
![](/uploads/upload_8af099212bf083910490b1efe85d76e6.png)
2. 使用「滑鼠點擊小怪獸」積木,分別放入「啟動循跡」和「停止循跡」積木,作為循跡的開關。
- 綠色小怪獸:啟動循跡
- 紅色小怪獸:停止循跡
![](/uploads/upload_dc98e81c103533e4dfc2e1dc747779da.png)
3. 加入「小怪獸說話」積木和「LCD 畫文字」積木標示。
開始執行後,就可以使用紅綠小怪獸來控制循跡了。
![](/uploads/upload_f5b50f9252d1ec0e7f34c6ac33649f36.png)
## 進階範例:小怪獸物件追蹤控制小車
結合小怪獸物件追蹤控制 MoonCar,偵測不同的小怪獸來執行相對應的動作。
> 關於物件追蹤積木,歡迎參考:[物件追蹤](https://md.kingkit.codes/s/BrL3wxxd_)。
#### ➤ 前往 [`範例連結`](https://ai-blockly.webduino.io?hashid=bOd81Yj108)
1. 首先設定物件追蹤模型、車速以及循跡,範例使用內建的小怪獸模型。
![](/uploads/upload_5eecdc4a1c077e6ac582eba35d062faf.png)
2. 放入「無限重複」積木及「開始偵測物件」積木,讓 Web:AI 可以不斷偵測。
![](/uploads/upload_8de8d83c7e0e1d3f885b6d11b067b599.png)
3. 設定物件追蹤及「邏輯」積木,當偵測到綠色小怪獸時,會啟動循跡及前進。
- greenGroup:偵測到的所有綠色小怪獸。
![](/uploads/upload_85fd67fbcaedb4b96303e34068bcb5b5.png)
4. 接著設定紅色小怪獸,當偵測到紅色小怪獸時,MoonCar 會停止及停止循跡。
- redGroup:偵測到的所有紅色小怪獸。
![](/uploads/upload_1b30209bf061dd2ae215ae050e793071.png)
4. 完成後按下執行,就可以使用物件追蹤紅綠小怪獸來控制 MoonCar 的動作了。