Transcript 程式說明
資訊科種子教師分享與講評 機器人課程實作教學 演講人:國立彰化師大附工 機電科主任:楊 昭 德 e-mail:[email protected] 日期:2012.07.10 機器人三大法則 • 艾西莫夫(Isaac Asimov, 1920-1992)二十世紀科幻文壇的超級大 師,也是舉世聞名的全能通俗作家。是公認的「現代機器人小說之 父」。他於一九四二年所創立的「機械人三大法則」: 第一法則 : 機器人不得傷害人類,或坐視人類受到傷害而袖手旁觀。 第二法則 : 除非違背第一法則,機器人必須服從人類的命令。 第三法則 : 在不違背第一法則及第二法則的情況下,機器人必須保護自己。 2012/07/10 機器人課程實作教學 2 教育機器人系列 2012/07/10 機器人課程實作教學 3 創意機器人教學開發系列 基礎教育機器人 坦克 創意機器人開 發教學平台 2012/07/10 紅螞蟻 自走車 機器人課程實作教學 innoBot 自走車 4 2012/07/10 機器人課程實作教學 5 2012/07/10 機器人課程實作教學 6 展示教學機器人系列 人形機器人 6軸 2012/07/10 12 軸 16 軸 機器人課程實作教學 19 軸 7 比賽教學機器人系列 輪型機器人 紅螞蟻 自走車 2012/07/10 坦克 innoBot 自走車 競速車 機器人課程實作教學 越野車 Mini-Ubot 8 展示教學機器人系列 仿生機器人 小蜘蛛 2012/07/10 大蜘蛛 機器人課程實作教學 機械蛇 9 機電整合感測器系列(四) 感測器控制模組 16軸機器人 控制板 2012/07/10 32軸機器人 控制板 機器人課程實作教學 各種感測器模組 10 安裝系統— innoBASICTM Workshop 終端視窗 檔案管理視窗 訊息輸出視窗 2012/07/10 程式編輯視窗 機器人課程實作教學 11 創意專題機器人自走車 2012/07/10 機器人課程實作教學 12 創意機器人輪型自走車innoXer (紅螞蟻8 號) 是一部經濟型的可程式化自走車,內含單板電 腦,使用者以BASIC 語法撰寫單晶片程式。 學習以程式控制馬達驅動自走車,搭配內建 的紅外線感測、蜂鳴器、按鈕等電子元件,可 以自行變化出各種功能。 2012/07/10 機器人課程實作教學 13 若再搭配使用內建的8個輸出入IO 接腳,更 可以作為學校學生專題製作用車。 本套件附有一份組裝說明及應用範例。 適用對象:大專及高中職電子、電機、 機械、光電、資訊(工)、工業工程、數位媒 體等相關科系老師及學生上課專題及比賽使 用。 2012/07/10 機器人課程實作教學 14 創意專題機器人自走車簡介 *配備: .主控制板(內建單板電腦、紅外線、按鈕、IO 接腳) .直流馬達x 2 .橡膠輪組 .USB 接線 .電池盒 *特色: . 單板電腦核心,內含8 位元單晶片。 . USB 程式下載,不需額外燒錄工具。 . 具有8 個獨立GPIO 及6-Pin CmdBus 擴充介面。 . 內建紅外線感測、蜂鳴器及按鈕。 . 全中文化高階語言程式軟體。 . 提供函數化指令。 . 提供實驗範例。 2012/07/10 機器人課程實作教學 15 橡膠輪胎 直流馬達1 萬用板及 麵包板 按鈕1 電源開關 按鈕2 紅外線感 測器 x 3 LED燈1 LED燈2 電池盒 Cmd Bus 蜂鳴器 GPIO x 8 重置按鈕 電路板 USB接口 2012/07/10 橡膠輪胎 機器人課程實作教學 直流馬達2 16 練習--LED燈 LED燈1 LED燈2 2012/07/10 機器人課程實作教學 17 範例程式 2012/07/10 機器人課程實作教學 18 程式說明 程式中用到的I/O 控制指令有High 及Low,High 會提 供指定I/O 腳接近5V 的電壓, 所以在範例程式中當程式下High 21 指令的時候 Innoxer8 P21 對應的LED 就會亮起, 程式下Low 21指令時P21 的電壓就會降到趨近於0V, 此時就因為沒有足夠的電壓所以LED 就熄滅了。 2012/07/10 機器人課程實作教學 19 練習—按鈕 按鈕1 按鈕2 2012/07/10 機器人課程實作教學 20 範例程式 2012/07/10 機器人課程實作教學 21 程式說明 程式中先讓兩顆LED燈滅,並反覆讀取按鍵值,當P14按 鍵偵測到按下時,則LED_21呈現High的狀態,LED燈亮。 反之若P15按鍵偵測到按下時,則LED_22呈現High狀態, LED燈亮。 2012/07/10 機器人課程實作教學 22 練習--蜂鳴器 蜂鳴器 2012/07/10 機器人課程實作教學 23 範例程式 2012/07/10 機器人課程實作教學 24 程式說明 SOUND Pin, Duration, Frequency 接腳 聲音長度 聲音頻率 當程式燒錄後執行並按下鍵盤上數字鍵1 , 則蜂鳴器產生相對應頻率而發出Do的聲音。依序 按下鍵盤數字鍵,蜂鳴器會產生對應頻率之聲音。 可以嘗試敲出耳熟能詳的小蜜蜂曲嗎? 2012/07/10 機器人課程實作教學 25 進階蜂鳴器練習-編曲 2012/07/10 機器人課程實作教學 26 程式說明 上一段練習是利用鍵盤上的數字鍵對應執行想要 的音樂頻率。若要讓程式自己執行曲目,可以透過進 階練習直接在程式編輯好。當按下按鈕P14則執行按鈕 P14內的程式,或者按下按鈕P15則執行按鈕P15內的程 式。是否能將小蜜蜂完整的打上在程式當中自動播放 呢? 2012/07/10 機器人課程實作教學 27 練習—IR讀取 電源開關 紅外線感 測器 2012/07/10 機器人課程實作教學 28 範例程式 2012/07/10 機器人課程實作教學 29 程式說明 程式中使用Rctime讀取紅外線感測器反射強度, 透過Debug CXRXY指令將紅外線感測器所偵測到外界 的值,回傳到終端視窗,供使用者調整、參考。可 以測試最近可偵測距離跟最遠偵測距離各為多少呢? 2012/07/10 機器人課程實作教學 30 練習-轉動馬達 2012/07/10 機器人課程實作教學 31 2012/07/10 機器人課程實作教學 32 範例程式 2012/07/10 機器人課程實作教學 33 程式說明 透過Debugin指令在終端視窗輸入數字1~5並 按下Enter則會執行程式Case1~5的程式。 1.Forward:前進 2.Backward:後退 3.TurnR:右轉 4.TurnL:左轉 5.Brake:停止 2012/07/10 機器人課程實作教學 34 進階練習-車速控制 2012/07/10 機器人課程實作教學 35 進階練習-車速控制 2012/07/10 機器人課程實作教學 36 進階練習-車速控制 2012/07/10 機器人課程實作教學 37 進階練習-車速控制 2012/07/10 機器人課程實作教學 38 程式說明 程式中利用終端視窗來練習控制創意機器 人輪型的方向、速度以及行駛時間。使用到現 在是否對於Debug指令越來越熟悉了呢?嘗試更 改程式數值,觀察其輪型變化方向。 2012/07/10 機器人課程實作教學 39 練習—紅外線循跡 橡膠輪胎 按鈕1 按鈕2 紅外線感 測器 蜂鳴器 重置按鈕 2012/07/10 橡膠輪胎 機器人課程實作教學 直流馬達 40 循跡原理-1 IRALL= 010 中IR壓線 直線前進 2012/07/10 機器人課程實作教學 41 循跡原理-2 IRALL= 001 右IR壓線 大右轉 2012/07/10 機器人課程實作教學 42 循跡原理-3 IRALL= 011 中右IR壓線 右轉 2012/07/10 機器人課程實作教學 43 表1:紅外線感測器狀態表 2012/07/10 機器人課程實作教學 44 知道了循跡的原理後程式要如何做判斷呢?首先我們可以做一些簡單的事 1.先知道黑線與跑道的Rctime 數值,設定成參數做為比較的依據;例如在黑線上 Rctime為15,跑道為6,那我們就可以大約取一個中間值11 做為比較的參數。 2. 上面的表1 中我們用1 表示為壓線,所以我們可以做一個比較,判斷目前的Rctime 有沒有超過步驟1 設定的數值,有超過的話就代表壓到黑線了,此時就可以把這顆 感測器定為1。 3. 3 顆感測器的狀態都知道後可以做一些簡單的換算讓狀態看起來更清楚明瞭 : IRAll=(IRL*100)+(IRC*10)+IRR,例如現在是編號3 的狀態IRAll=(1*100)+(0*10)+0, IRAll=100,就可以很清楚知道現在是在變號3 的狀態。 4. 運用條件敘述式將每種狀態應該做的動作都寫出來就完成了。 2012/07/10 機器人課程實作教學 45 範例程式 2012/07/10 機器人課程實作教學 46 2012/07/10 機器人課程實作教學 47 2012/07/10 機器人課程實作教學 48 2012/07/10 機器人課程實作教學 49 2012/07/10 機器人課程實作教學 50 2012/07/10 機器人課程實作教學 51 程式說明 程式前4 行參數後面的數字要根據場地黑線與跑道 的數值來定義,將車子放在黑線上,紅外線感測器中間 對準黑線,按下P14 按鍵,車子就會開始循著黑線行走。 再根據現場狀況調整程式中馬達轉速以求最佳化速度。 2012/07/10 機器人課程實作教學 52 到這邊為止完成創意機器人自走車的循跡實 驗,車子已經可以循著黑線行走,循跡的基本概 念在做完本實驗後相信各位使用者也都清楚明白 了,另外各位使用者也可以配合其所開發的感測 器做進階使用。 2012/07/10 機器人課程實作教學 53 演講完畢 謝謝你的聆聽 2012/07/10 機器人課程實作教學 54 想到和得到,還要做到 2012/07/10 機器人課程實作教學 55 忙=心+亡,人脈是金牌 2012/07/10 機器人課程實作教學 56