<!-- .slide: data-background="https://i.imgur.com/gJLfldF.jpg" data-background-color="#111111" data-background-opacity="0.2" --> ###### tags: `iot-car` `lab` 返回[物聯網智慧自走車](/s/5c7ggGf0Spqql5Gy31Cqzg) ## 秀操作啦 vs 我就懶嘛.gif <br> <span style="color:#F9BF45;">手動與程式控制</span> ###### [點我開啟簡報模式](/@BEExANT-ta/SJ5BfHqPF#) ###### <kbd>ESC</kbd> 鍵進入總覽模式 ###### <kbd>&#8592;</kbd> <kbd>&#8593;</kbd> <kbd>&#8595;</kbd> <kbd>&#8594;</kbd> 切換頁面 --- <center><img src="https://i.imgur.com/RQj8jZE.jpg" width=40%></img></center> 隨著科技不斷發展加上人越來越==懶==,於是我們開始把很多工作交給機器去做,從執行重複工作的==機械手臂==到能感測周遭環境並做出判斷的==自駕車==,甚至有人連==籃球、弓箭==都要做到自動瞄準呢! --- {%youtube 1MkrNVic7pw %} --- {%youtube FycDx69px8U %} --- ## 目標 **熟悉麥克納姆輪車的==運動模式==,以==手動==方式操控自走車完成==八個方向及左右旋轉==的行動,並將手動操控的路徑==以程式方式自動重複執行==,還可另外==加上led燈的控制==。** --- ## 設計原理 - 由於麥克納姆輪的特殊設計,使車子能夠進行==全方位==的移動。 - 以手動操控估算每段==移動路徑所用速度與時間的關係==,將其套用在程式上完成同樣的行為。 - 在每一次移動前設定不同的led顏色。 ---- :::info :globe_with_meridians: 參考資源 - [麥克納姆輪原理與實現](https://www.twblogs.net/a/5bd3a0372b717778ac209bae) - [麥卡納姆輪 - 維基百科](https://zh.wikipedia.org/wiki/%E9%BA%A6%E5%8D%A1%E7%BA%B3%E5%A7%86%E8%BD%AE) ::: --- ## 範例程式碼 新增程式檔並命名 ==手動與程式控制==,將以下程式碼複製貼上程式編輯區執行。 ```javascript= led_color.set("白"); delay(300); move_forward.set(100); delay(1000); led_color.set("黑"); delay(300); move_Lforward.set(100); delay(1000); led_color.set("紅"); delay(300); move_Rforward.set(100); delay(1000); led_color.set("綠"); delay(300); move_Rbackward.set(100); delay(1000); led_color.set("藍"); delay(300); move_Lbackward.set(100); delay(1000); led_color.set("黃"); delay(300); move_Lturn.set(100); delay(1000); led_color.set("紫"); delay(300); move_right.set(100); delay(1000); led_color.set("粉紅"); delay(300); move_forward.set(100); delay(1000); led_color.set("#FF8000"); delay(300); move_left.set(100); delay(1000); led_color.set("#00FFC8"); delay(300); move_Rturn.set(100); delay(1000); led_color.set("#80ff00"); delay(300); move_backward.set(100); delay(1000); led_color.set("#FF00B4"); delay(300); move_stop.set(); delay(1000); ``` --- ## 程式解說 逐行講解程式意義。 ---- ```javascript= led_color.set("白"); ``` - 將自走車上的led燈設為白色,等同於 ==```led_color.set("#FFFFFF")```==。 ---- ```javascript= move_forward.set(100); ``` - 控制自走車向前移動,速度為100。 --- ## 參數修改 為方便實作,以下會將範例程式中可修改的參數標示出來,進行實作時只需修改對應參數,並觀察結果即可。 :::warning :zap: 詳細內建JS參數參考 - [內建Js參數及功能總覽](/s/wlfjvQBzRPCmJ8LCL3f2Fg) ::: ---- :::success **led_color.set(=="x"==);** ::: - x可代入 白、黑、紅、綠、黃、藍、紫、粉紅 八種預設顏色,也可直接代入色碼,例: ==```led_color.set("#FF0000")```== 代表紅色。 ---- :::success **move_==forward==.set(==x==);** ::: - forward可替換成以下方向 - forward(前)、backward(後)、left(左)、right(右)。 - Lforward(左前)、Rforward(右前)、Lbackward(左後)、Rbackward(右後)。 - Lturn(逆時鐘旋轉)、Rturn(順時鐘旋轉)、stop(停止)。 - x 可代入0~200 ,建議範圍在 30~150之間。 --- ## 範例影片 {%youtube QTkAdWpf1lE %} <a class="btn btn-warning" style="width:100%;color:#333333;" href="/s/BWE9-5cJRJ2KEDSG8f9kvA" role="button"> 場地邊界判定 **&#8680;** </a> <a class="btn btn-primary" style="width:100%;" href="/s/aBFEVJ_HRwWLuvoexnhsqw" role="button"> **&#8678;** 顏色感測器校正 </a>
{"metaMigratedAt":"2023-06-16T14:19:52.032Z","metaMigratedFrom":"YAML","title":"秀操作啦 vs 我就懶嘛.gif - 手動與程式控制","breaks":true,"slideOptions":"{\"transition\":\"slide\",\"transitionSpeed\":\"fast\",\"theme\":\"league\"}","contributors":"[{\"id\":\"a1db0c29-d848-4070-be84-9191a2398ca8\",\"add\":4233,\"del\":1092}]"}
    1115 views
   Owned this note