240 likes | 392 Views
班班都有機器人. 旗立資訊 2008/04. Bill Gates 說. 「今日的機器人產業,恰似 30 年前的個人電腦」 「繼電腦與網路後,機器人將成為下一個超級科技新星」 - 【 家家都有機器人 】 科學人雜誌 2007/02. 2007 台灣的機器人比賽. 機器人奧林匹克大賽 WRO ,中小學參加初賽的隊伍超過 800 隊 台灣智慧型機器人實作競賽 TDK 盃創思設計與製作競賽 全國工業機器人競賽 全國機器人技能競賽 …… 每年超過十數場. 中國. 2007 ,中國哈爾濱省教育局頒布命令,國中小學校必須開設機器人課程,好培養下一代的創新精神和實踐能力
E N D
班班都有機器人 旗立資訊2008/04
Bill Gates 說 • 「今日的機器人產業,恰似30年前的個人電腦」 • 「繼電腦與網路後,機器人將成為下一個超級科技新星」 - 【家家都有機器人】科學人雜誌2007/02
2007台灣的機器人比賽 • 機器人奧林匹克大賽WRO,中小學參加初賽的隊伍超過800隊 • 台灣智慧型機器人實作競賽 • TDK盃創思設計與製作競賽 • 全國工業機器人競賽 • 全國機器人技能競賽 • ……每年超過十數場
中國 • 2007,中國哈爾濱省教育局頒布命令,國中小學校必須開設機器人課程,好培養下一代的創新精神和實踐能力 • 機器人是中國高技術研發計畫(簡稱863計畫)的項目之一
韓國 • 韓國首爾,一間專事機器人教育的高中已成立,校名就叫做Robotics High School • 韓國政府2004年宣布,要在2013年成為繼美、日之後的第三大機器人強國。
機器人是什麼? • 當紅炸子”機” – Pleo • 蛋蛋 - Rolly • 吸塵器 – Roomba • 戰車 – iRobot • 變形金鋼 – i-SOBOT • 積木 – NXT • ……功能(外型)千變萬化
軟 體 硬 體 類似電腦的組成 機器人的組成 • 軟體 • 程式設計 • 人工智慧 • 硬體 • 電子 • 機械
機器人的教學重點 • 機器人本體 • 電子電路 • 機械構造 • 專屬程式語言 • 控制行為動作 • (思考 – 人工智慧) • 創意與應用
機器人RoCar的教學重點 • 問題解決 • 電子電路 • 機械構造 • 專屬程式語言 • 控制行為動作 • 創意與應用
機器人RoCar架構 VB VC++ VC# VJ#...... .NET(2005/2008) 使用者 程式 Robots 物件 USB
學機器人的益處 • 教學符合潮流,容易吸引學生注意力 • 出作業變化多,看一眼就能改,同學不能也不會抄襲作業 • 培養學生參加各種比賽的能力,有助升學與就業 • 學校容易申請各類專案,如:產學攜手合作、優質高中、高瞻計畫…等
Robots家族 • RoCar • RoArm • RoAnt • RoDog • RoBoy……
RoCar規格一覽 • 電源 : AAA電池1 ~ 6顆,USB • 感測器 : 10 • 輸出元件 : 12~19
認識RoCar硬體 –上視 感測器 聲音 * 3 感測器 碰觸 * 2 輸出元件 LED * 8 輸出元件 7段顯示器 馬達電池 1 ~ 2 輸出元件 蜂鳴器 感測器 溫度 感測器DIP sw 電源開關 左電池/中off/右USB Reset 按鈕
認識RoCar硬體 –下視 輸出元件 馬達 * 2 感測器 光線 * 3 三段變速 齒輪箱
實作 – 1 測試硬體 • 裝上AAA電池1顆USB • 接上USB線(開關向右) • 測試內建程式 : DIP Switch 1=音樂、2=閃燈、3=碰碰車、4=循軌車、5=全黑停
實作 – 2「我的第一隻程式」 • 如傳統第一隻程式用MsgBox()列出”Hello World”, 使用MoveC()讓機器人動起來 • 建立新專案,選取「專案/加入參考/瀏覽」 C:\Program files\旗立Robots\iRobots.dll • 程式第一行(Public Class Form1之後) : Dim RC as New iRobots.RoCar01 • Button1_Click()加入 : Dim i= RC.MoveC(“F”)
實作 – 3「機器人搖控器」 • 改善前一實作,變成有”前、後、左、右、停”共5按鈕之程式 • 開啟前一專案,選取「檔案/匯出範本」,方便以後取用 • 新建專案,選取「我的範本」中前述匯出檔案 • 在Form1中增加四個Button,並寫入相對應的程式碼,利用MoveC()
實作 – 4「LED跑馬燈」 • 使用迴圈、數字系統:10/2/16進位及之間的相互轉換 • 在Button1_Click()中加入程式碼 Dim I, j As Integer For j = 0 To 7 i = RC.SSDisplayOut(2, j + 1) ‘每次加1 i = RC.LEDsOut(1, 2 ^ j) '每次進位,-2-4-8... RC.WaitN(300) Next
實作 – 5「LED跑馬燈II」 • 續前,利用巢狀廻圈讓LEDs來回跑,並用全域變數使其停止 Do Until bStop For j = 0 To 7 i = RC.LEDsOut(1, 2 ^ j) RC.WaitN(100) ‘暫停1/10秒 Next For j = 7 To 0 Step -1 i = RC.LEDsOut(1, 2 ^ j) RC.WaitN(100) Next Loop
實作 – 6「讀入感測器數值」 • 使用輸入型函數,將數值顯示出來 在軌道上方移動機器人 TextBox1.Text = RC.CamsIn() 改變DIP switch開關 TextBox1.Text = RC.DIPsIn() 手握溫度感測器 TextBox1.Text = RC.TempIn()
實作 – 7「碰停車」 • 設定碰觸感測器事件,當發生時停下 Dim WithEvents RC as new iRobots.RoCar01 ‘宣告物件 Button1_Click()事件程式碼 RC.MoveC("F") RC.SetEvent(4) ‘4-Touch事件 RC.StartEvent() RC_TouchChanged()事件程式碼 RC.MoveC(“X”) ‘停下 RC.StopEvent()
實作 –「碰碰車」 • 續前,判斷設定碰觸感測器事件傳回值,若=1右轉,=2則右轉 • RC_TouchChanged()事件程式碼 • If byTouch = 1 Then • RC.MoveC(“R”) ‘右轉 • Else • RC.MoveC(“L”) ‘左轉 • End If • RC.WaitN(200) • Application.DoEvents() • RC.MoveC("F") • RC.StopEvent()
討論時間 • 敬請批評指教 • 謝謝大家參加 • wenlih@mail.fisp.com.tw