臺北市 100 年度 Scratch 教師研習 �
����€���
主辦單位:臺北市政府教育局
承辦單位:臺北市立南港高中、臺北市立玉成國小 協辦單位:臺北市資訊科技教育協會
教育部校園自由軟體數位資源推廣服務中心 國小組教師研習:100年7月18、19、20日 地點:玉成國小 國中組教師研習:100年7月12、13、14日 地點:南港高中
活動計畫
臺北市 100 年度推動國中小學生學習 Scratch 程式設計實施計畫
壹、計畫緣起
電腦發明至今已歷經近70年(1946~2011),它的角色也從最早的電子計算機 蛻變為我們日常生活中不可或缺的辦公、溝通、娛樂等多重功能複合工具。隨著 時代的發展,電腦硬體設備日新月異,而軟體的發展更是一日千里。程式語言的 發展,也從早期科學計算用途(例如:BASIC, Fortran),轉變為問題解決的邏輯 設計與物理的動力機械控制(Java, C++, VB)。
早期的程式語言範例,多是以計算導向,其結果通常只有標準答案。然而, 近代為程式初學者量身訂製的程式語言,已引入了多媒體運用與互動性控制等效 能,其中,美國麻省理工學院於2007年推出 Scratch 後隨即引起一陣騷動,它可 以用來設計互動式故事、動畫、遊戲、音樂和藝術,這時侯,其作品不再侷限於 傳統程式範例的標準解法,反而是使用者發揮與想像的虛擬空間。而它的訴求對 象不再只是理工科的學生,網友號稱 Scratch 的推出,讓8歲到80歲的人都會做 程式設計。
在 Scratch 的官方網站(http://scratch.mit.edu)中,可以免費下載安裝程 式。此外,該網站中也建立了一個全世界通行的網路社群,提供使用者發表與討 論作品,其精神充份表現了自由軟體的理念,即授權大家可以有使用、研究、散 布、改良的自由。在學習 Scratch 的過程中,經由網路共享作品,學生們不只將 自己的程式作品分享,也有機會去觀摩與修改別人的程式作品,因此,自由軟體 的精神將形成為一種自然而然的文化。
貮、實施依據:臺北市100年度自由軟體桌面應用推動及發展工作計畫。
參、計畫目的
一、 培訓國中小 Scratch 程式設計課程師資。 二、 辦理國中小 Scratch 程式設計競賽。
肆、辦理單位
一、 主辦單位:臺北市政府教育局。
二、 承辦單位:臺北市立南港高中、臺北市立玉成國小。
伍、計畫期程:100年1月至12月。
陸、實施活動
一、 師資培訓課程:國小組1場、國中組1場,每場18小時。
(一) 國小組教師研習:100年7月18、19、20日 地點:玉成國小。
(二) 國中組教師研習:100年7月12日至14日 地點:南港高中。 二、 參加資格:國中小資訊現職教師(不含代理教師)。
三、 報名資訊
(一) 請上臺北市教師在職研習網報名
(http://insc.tp.edu.tw/index/DefBod.aspx)。
(二) 國中組名額40名,國小組名額32名。 四、 研習時數
(一) 全程參與教師核予十八小時。
(二) 請假在四小時(含)以內者,依實核予研習時數。
(三) 請假超過四小時以上者,不予核發研習時數。 五、 研習注意事項
(一) 研習地點無法提供停車位,請搭乘大眾捷運系統。
(二) 本研習屬產出型研習,參加教師必須完成 Scratch 作品方能獲得 研習時數。
(三) 參加研習教師必須組隊參加10~11月所舉辦之學生組競賽。 六、 學生 Scratch 作品競賽:動畫短片組與互動遊戲組。
1. 國中組部份
(1) 報名日期:100年10月1至20日。 (2) 晉級決賽名單公布:100年11月10日。 (3) 決賽日期及地點:
100年11月18日13:00~16:00於玉成國小圖書室。 2. 國小組部份
(1) 報名日期:100年10月1至20日。 (2) 晉級決賽名單公布:100年11月10日。 (3) 決賽日期及地點:
100年11月18日9:00~12:00於玉成國小圖書室。
(二) 互動遊戲組 1. 國中組部份
(1) 報名日期:100年10月3至14日。 (2) 教師說明會:
100年10月28日下午14:00~15:00於南港高中。 (3) 競賽:
100年11月11日下午於南港高中資訊教室(參賽者需現場 製作作品)。
2. 國小組部份
(1) 報名日期:100年10月3至14日。 (2) 教師說明會:
100年10月28日上午10:00~11:00於南港高中。 (3) 競賽:
100年11月11日上午於南港高中資訊教室(參賽者需現場 製作作品)。
七、 架設本市作品分享網站,經營 Scratch 網路社群 http://scratch.tp.edu.tw。
柒、聯絡人
一、教育局聯絡人:資訊室陳虹妙 電話:02-25715741 轉 37 傳真:02-25416855
e-mail: [email protected]
二、國小組承辦單位聯絡人:玉成國小資訊組長張世遠組長、系統管理師林 格正老師
電話:02-27836049 轉 126、127 傳真:02-27887622
e-mail: [email protected]
三、國中組承辦單位聯絡人:南港高中資訊組長戴伶娟組長、資訊教師高慧 君老師
電話:02-27837863 轉 300、303 傳真:02-27884235
e-mail: [email protected]
捌、經費來源由本局相關經費項下支應。 玖、本計畫陳 核後實施,修正時亦同。
研習講義
Scratch
內容
認識 Scratch... 9
Scratch 的下載與安裝... 10
Scratch 操作介面 ... 11
我的第一個動畫... 14
認識舞臺... 14
角色的造型安排 ... 15
角色的聲音安排 ... 15
角色的程式安排 ... 15
動畫創作... 16
重複結構 ... 26
計次式迴圈... 26
條件式迴圈... 26
無窮迴圈... 29
條件式 ... 30
關係運算... 31
邏輯運算... 31
選擇結構 ... 32
單向選擇結構... 32
雙向選擇結構... 33
變數 ... 38
如何宣告變數... 38
如何設定變數的值 ... 39
認識 Scratch
Scratch 是 2007 年由美國麻省理工學院(MIT)的 Mitchel Resnick 教授所發表的教學軟體,主要目的是幫助 6~16 歲 的兒童們學習程式設計。它提供圖形化的介面,使用者不 太需要使用鍵盤來輸入各項指令,而是用滑鼠拖曳程式區 塊到腳本區,以組合積木的方式來撰寫程式碼。
你可以使用 Scratch 來創造故事、動畫、遊戲、或音樂等,透過它內建的網 路上傳功能,你可以將自己的作品上傳到官方網站中,與全世界一起分享你的創 意。學習 Scratch 有助於加強你對程式流程的認知,培養對軟體的基本認識。當 你對程式的邏輯有直覺性的了解後,你將更有能力使用不同的軟體,提昇自己的 問題解決能力。
舞台區
角色區 腳本區
指令區
Scratch 的下載與安裝
安裝程式可以在 Scratch 官方 網站(http://scratch.mit.edu)中 免費下載。
(1) 點選
(2) 接著進入填寫資料的頁 面,填寫完後,請按下
如果你不想填資料,也可在 頁面的最下方找到「如果你對 填寫表單感到困難,請直接移 到 Scratch download.」 的連結。
(3) 請依你的作業系統選擇適 合的安裝程式,Scratch 目 前支援 Mac、Windows、 Linux 等三個不同版本。
我們選擇「Scratch Installer for Windows」版本。
(4) 下載 ScratchInstaller1.4.exe 檔案後,點選該檔案兩下, 依照安裝步驟的指示,便可 以完成安裝。
Scratch 操作介面
(1) 指令區
此區提供「動作」、「控制」、「外觀」、「偵測」、「聲音」、「運算」、「畫筆」、「變 數」等八類指令。
動作 外觀 聲音 畫筆
控制 偵測 運算 變數
(2) 腳本區
此區包含有「程式」、「造型」、「聲音」等三個面板。
在「程式」面板中,你可 以從畫面左方的指令 區,拖曳程式指令,賦予 角色動作。
在「造型」面板中,你可 以匯入點陣圖,或是使用 內建的繪圖工具,自行繪 製圖案,賦予角色不同的 造型變化。
在「聲音」面板中,你可 以匯入聲音檔,或是使用 內建的錄音功能,賦予角 色發出聲音的效果。
(3) 舞台區
此區會顯示目前程式執行 的結果。按下右上方的綠旗,則 開始執行程式。按下右上方的紅 色按鈕,則停止執行程式。
當你的滑鼠進入此區時,在 右下方會顯示滑鼠游標的座標 位置,Scratch 的畫面是二維空間, 因此,只有 x 軸與 y 軸數值。
畫面的正中央位置是原點,往原點左方的 x 軸座標值及往下方的 y 軸座標值 為負數,相對的,往原點右方的 x 軸座標值及往上方的 y 軸座標值為正數。
角色在舞台上也有其座標 位置,此值是顯示在腳本區的上 方,除了 x 與 y 值外,還有其所 面對的方向,向左的值是 90,向上的值是 0,向右的值是‐90,向下的值是 180。
(4) 角色區
此區中會顯示程式會 用到的所有角色列表。你可 以點選 圖示來開啟繪 圖工具,以進行新角色的繪 製。你也可使用 圖示 來匯入現有的點陣圖,以完 成開啟角色檔案。
我的第一個動畫
本章將帶你創作出一個故事動畫,從這個案例中,你將學到使用 Scratch 來 創作動畫所需要的基本觀念:舞臺、角色的造型、聲音、及程式。
認識舞臺
Scrtach 的舞臺大小是 480X360,原點座標(0,0)在舞臺 的正中心,向左為負 240,向右 為正 240,向下為負 180,向上 為正 180。在舞臺的右下角會顯 示目前滑鼠的座標位置。
舞臺背景預設為白色,我們可以任意 地變換舞臺的背景。在角色區中用滑鼠點 選左方的「舞臺」,在腳本區中選取「背 景」面板,按下「匯入」按鈕,就可以新 增舞臺的場景。例如:我們選取 「Outdoors」 中的「school1」後,再按下 將原有的 白色背景刪除。
(0,180)
(240,0) (0,0)
(‐240,0)
(0,‐180)
角色的造型安排
在角色區中點選 ,在腳本 區中選取「造型」面板。此角色有預設 有二個造型:「造型 1」和「造型 2」。 我們可以透過程式碼來控制要顯示哪 一個造型。你也可以點選「匯入」按鈕 來新增其它的造型。
角色的聲音安排
在腳本區中選取「聲音」面板,此 角色預設有一個聲音「喵」。點選 按 鈕就可以試播此段聲音。你也可以點選
「匯入」按鈕來新增其它的聲音。
角色的程式安排
在腳本區中選取「程式」面板,你可以 為此角色撰寫程式碼,而程式碼的選寫, 只要從畫面左方的指令區中,拖曳指令 積木到腳本區中的程式面板即可。例如: 我們要讓貓咪做往不斷前走的動畫,如 右圖。
動畫創作
腳本設計:
小貓和狗狗相遇在學校門口,開啟一段對話。 小貓:嗨!你現在想做什麼?
狗狗:我餓啦,我想去吃點東西。 小貓:要不要去一家義大利餐廳吃? 狗狗:好!我喜歡吃義大利麵。
小貓:我不喜歡吃麵,但是我喜歡吃比薩。
準備素材
我們需準備的素材有:5 個對話的聲音檔、1 個背景圖、4 個角色圖。為了 做出走路的動畫,我們必須為這 2 個角色各準備 2 張圖片。
角色圖 貓咪:
cat1‐a.png cat1‐ b.png 狗狗:
dog2‐b.png dog2‐b.png
背景圖 校門口(Backgrounds→Outdoors→school1.png)
製作流程: (1) 起始場景佈置
Step 1 在畫面下方的角色區中,點選左
方中央的「舞台」圖示,畫面中 央的腳本區,會切換到舞台的程 式面板。
Step 2 在腳本區中,點選「背景」面板,
按下「匯入」按鈕開啟檔案。
Step 3 在對話框中,選取校
門口(school1)的圖片。
Step 4 在腳本區中,點選「程式」面板, 切換到程式編輯模式。
Step 5 拖曳指令區「控制」類的 指令到腳本區中。
Step 6 拖曳指令區「外觀」類的 指令到腳本區。
Step 7 將兩個指令區塊組合在一起,如右圖。
Step 8 在指令區塊上方點選滑鼠兩下,就可以執行程式。請觀察程式執行
的結果,原來白色的背景圖,是不是改成校門口圖了呢?
(2) 起始角色佈置
Step 1 在角色區塊上方點選 圖示,就可用現有的點陣圖來新增
一個角色。
Step 2 在對話框中,選取狗
(dog2‐b)的圖片。
Step 3 在腳本區中,點選「造型」面板。
Step 4 按下「匯入」按鈕,
在對話框中,選取狗 (dog2‐c)圖片。
Step 5 在腳本區中,點選「程式」面板。
拖曳指令區「動作」類的 指令到腳本區中。
在指令區塊上點選滑鼠兩下,執行程式,請觀看程式執行的結果, 狗狗是否面向左方呢?它是向左方看,但是上下卻巔倒了。
Step 6 在腳本區上方,點
選狗狗左方的中間 的 圖示,讓它只 允許左右翻轉,看
看狗狗是否雙腳朝地面了呢?
Step 7 將小貓和狗狗拖曳到適當的位置。
(3) 安排起始動畫:小貓往前走向狗狗
Step 1 點選角色區中的小貓圖示,進入其腳本區的「程式」面板。
Step 2 拖曳指令區「控制」類的 指令到腳本區。
Step 3 拖曳指令區「動作」類的 指令到腳本區。
Step 4 拖曳指令區「外觀」類的 指令到腳本區。
Step 5 拖曳指令區「控制」類的 指令到腳本區,並將其中的
參數「1」改為「0.2」。
Step 6 拖曳指令區「聲音」類的 指令到腳本區。
Step 7 將五個指令區塊組合在一起,如右圖。
Step 8 在指令區塊上方點選滑鼠兩下,就可以執行程式。請觀察程式執行
的結果,小貓是不是先喵一聲,再會從舞台的左方走向中央呢?
(4) 安排角色橋段:讓小貓說話
Step 1 點選角色區中的小貓圖示,進入其腳本區的
「聲音」面板。
Step 2 按下「匯入」按鈕,選擇聲音檔「p1.wav」。
按下「匯入」按鈕,選擇聲音檔「p2.wav」。
Step 3 進入小貓腳本區的「程式」面板。
Step 4 拖曳指令區「控制」類的 指令到腳本區,並將其
中的參數「P3」改為「P1」。
Step 5 拖曳指令區「外觀」類的 指令到腳本區,並將其
中的參數「你好!」改為「嗨!你現在想做什麼?」。
Step 6 將二個指令區塊組合在一起。
Step 7 拖曳指令區「控制」類的 指令到腳本區,並將其中
的參數「P3」改為「P2」。
Step 8 拖曳指令區「外觀」類的 指令到腳本區,並將其
中的參數「你好!」改為「要不要去一家義大利餐廳吃?」,將參 數「2」秒改為「3」秒。
Step 9 將二個指令區塊組合在一起。
Step 10 拖曳指令區「控制」類的 指令到腳本區。
Step 11 拖曳指令區「外觀」類的 指令到腳本區,並將其
中的參數「你好!」改為「我不喜歡吃麵,但是我喜歡吃比薩。」, 將參數「2」秒改為「3.5」秒。
Step 12 將二個指令組合在一起。
(5) 安排角色橋段:讓狗狗說話
Step 1 點選角色區中的狗狗圖示,進入其腳本區的「聲音」面板。
Step 2 按下「匯入」按鈕,選擇聲音檔
「s1.wav」。
按下「匯入」按鈕,選擇聲音檔
「s2.wav」。
Step 3 進入狗狗腳本區的「程式」面板。
Step 4 產生狗狗對話的程式碼,如下圖。
(6) 讓小貓告訴狗狗該他說話了
Step 1 點選角色區中的「小貓」圖示,進入其腳本區的「程式」面板。
Step 2 拖曳指令區「控制」類的 指令到腳本區。
Step 3 拖曳指令區「控制」類的 指令到腳本區,放在小貓說
完第 1 句話的下方,並將其中的參數設為「s1」。(開新檔案─訊息 名稱)。組合後的程式碼,如下圖。
Step 4 拖曳指令區「控制」類的 指令到腳本區,放在小貓說
Step 7 拖曳指令區「控制」類的 指令到腳本區,放在小貓說 完第 3 句話的下方,並將其中的參數設為「done」。
Step 8 點選角色區中的「狗狗」圖示,進入其腳本區的「程式」面板。
Step 9 拖曳指令區「控制」類的指令 到腳本區,放在
狗狗說的第 1 句話的上方,並將其中的參數設為「s1」。
Step 10 拖曳指令區「控制」類的 指令到腳本區,放在狗狗說
的第 1 句話的下方,並將參數設為「p2」。組合後程式碼如下圖。
Step 11 拖曳指令區「控制」類的指令 到腳本區,放在
狗狗說的第 2 句話的上方,並將其中的參數設為「s2」。
(7) 通知小貓該他說話了
Step 1 拖曳指令區「控制」類的指令 到腳本區,放在
小貓說的第 2 句話的上方,並將其中的參數設為「p2」。組合後程 式碼如下圖。
Step 2 拖曳指令區「控制」類的指令到腳本區,放在小貓說的第 3 話的上 方,並將其中的參數設為「p3」。組合後程式碼如下圖。
(7) 完成對話後,讓小貓及狗狗向左走後消失
Step 1 點選角色區中的小貓圖示,進入其腳本區的「程式」面板。
Step 2 在腳本區上方,點選貓咪左方中間的 圖示,讓它只允許左右翻轉
Step 3 拖曳指令區「控制」類的指令 到腳本區,並將
其中的參數設為「done」。
Step 4 拖曳指令區「動作」類的 指令到腳本區,將其中
的參數設定為「‐90」。
Step 5 拖曳指令區「控制」類的 指令到腳本區。
Step 6 拖曳指令區「動作」類的 指令到腳本區。
Step 7 拖曳指令區「外觀」類的 指令到腳本區。
Step 8 拖曳指令區「控制」類的 指令到腳本區,並將其中的
參數「1」改為「0.2」。
Step 9 拖曳指令區「外觀」類的 指令到腳本區。
Step 10 將六個指令區塊組合在一起,如右圖。
Step 11 將 Step10 的程式碼從腳本區中拖曳到角色區中的狗狗角色,就可 以將程式碼複製一份給狗狗。
(7) 設定起始狀態
Step 1 修正貓咪的程式碼,讓綠旗開始執行後,設定貓咪為顯示,並設定
它的位置在畫面的左方、其方向為 90。程式碼如下圖。
Step 2 修正貓咪的程式碼,讓綠旗開始執行後,設定貓咪為顯示,並設定
它的位置在畫面的左方、其方向為‐90。程式碼如下圖。
(8) 按下畫面右上方的綠旗開始執行程式。
重複結構
在程式的運作流程中,我們經常需要用號到重複執行特定指令的情況,可以 使用重複結構來簡化程式碼的內容。Scratch 提供三種重複結構:計次式迴圈、 條件式迴圈、無窮迴圈等。本章我們會詳細介紹這三種迴圈的基本概念及其應用 時機。
計次式迴圈
當你要重複執行有限次數的指令時,可以使用計次式迴圈, 這個指令在「控制」類中。例如:在上一章中,我們已經用過
了計次式迴圈,讓貓咪重複 10 次向前 10 步及變換下一造型的動作。你可以在這 個積木中設定參數,指定它所包含的指令要被重複執行幾次,預設次數是 10 次。 練習:讓貓咪畫出一個正方形
我們可以使用「畫筆」類別中的積木,讓貓咪畫出一個正 方形。程式碼如右圖。你可以在程式碼上快點滑鼠左鍵二下, 即可執行此段程式碼。從本例中,請你修改此段程式碼,讓貓 咪畫出一個六角形。
條件式迴圈
當你要重複執行不定次數的指令,而是重複執行到某個 情況發生為止時,可以使用條件式迴圈,這個指令在 「控制」
到邊緣為止,就可以使用此指令。碰到邊緣的指令在「偵測」類 。 練習:二個動物賽跑,先跑到終點號線的動物說「我最快」。
場景安排:
(1) 開新檔案,保留貓咪的角色 (2) 新增一個狗狗的角色
在角色區中點選 按鈕,開啟狗狗的角 色,再從腳本區的造型面板中,再匯入另一個 狗狗的造型,以做狗狗走路的動畫。你可以使
舞臺區上方的 「縮小角色」 按鈕,將狗狗縮小至和貓咪一樣大。方法是按下 鈕後,再到舞臺區中的狗狗身上點選一下,即可縮小其尺寸。
(3) 新增終點黑線的角色。
在角色區中點選 按鈕,使用線條工具繪製一條黑線。
程式安排:
(1) 在貓咪身上寫程式碼,如下圖。
(2) 將上面的程式碼,拖曳到角色區的狗狗身上,以複製一份相同的程式碼到狗 狗身上。將狗狗的起始 y 座標修改為‐76。
:位於「偵測」類,使用滑鼠左鍵在積木中的顏色區塊點一下,滑 鼠遊標會變成滴管,再到舞臺區中選取一個顏色,即可完成顏色的條改。
:位於「運算」類。
:位於「控制」類。
無窮迴圈
當你要重複不斷地執行某些指令時,就可以用無 窮迴圈,這個指令在「控制」類中。例如:我們要讓 貓咪不斷地來回走動,就可以使用此指令。碰到邊緣就反彈的指 令在「動作」類中。記得要設定 圖示,讓貓咪只允許左右翻轉。 練習:讓魚兒在水中不斷地游動
場景安排:
(1) 開新檔案,刪除貓咪的角色。 (2) 新增魚兒的角色,設定兩個造型。
Step 1 在角色區按下開啟角色檔案 按鈕,選取魚兒圖片
(Animals→fish2)。
Step 2 在腳本區的造型面板中,按下「複製」按鈕,新增一個相同的造型。
在第二個造型右方,按下「編輯」按鈕,開啟繪圖視窗。
Step 3 使用「挑選」工具,選取魚兒的尾巴後,按下逆時針旋轉 按鈕,將尾巴旋轉後,調整到適常的位置。
(3) 設定魚先只允許左右翻轉後,撰寫魚兒游動的程式碼,如下圖。
條件式
在程式中,我們經常需要使用條件式,用來評估某狀況是否成立,它經常被 使用在重複結構及選擇結構中。條件式的運算結果是布林值,只有 True(成立)或 False(不成立)兩種值。在 Scratch 中,條件式是使用六角形的積木來表示。例如:
關係運算
Scratch 提供三種關係運算:大於、等於、小於。例如: 的運算結果 是不成立(false)、 的運算結果是不成立(false)、 的運算結果是成立 (true)。
邏輯運算
Scratch 提供三種關係運算:且、或、相反。 的運算,必須是左 右兩邊的條件式同時是成立(true),其運算結果才會成立(true)。 的 運算,只要有一個條件式成立(true),其運算結果就會成立(true)。 的 運算,會把原來成立(true)的條件式做相反的運算,其運算結果是不成立(false), 若原來不成立(false)的條件式做相反的運算,其結果是成立(true)。我們可以使用 真值表來展示所有的狀況:
運算元 邏輯運算子
A B A 且 B A 或 B A 不成立 狀況一 True True True True False 狀況二 True False False True
狀況三 False True False True True 狀況四 False False False False
選擇結構
配合條件式,我們可以決定程式執行不同的區塊,此種程式流程稱為選擇結 構。Scratch 提供兩種選擇結構,包括:單向選擇結構、雙向選擇結構。
單向選擇結構
在 「控制」 類中,提供單向選擇結構積木, 只需定義當條件成時,要執行的程式碼。例如:
我們要讓一個球不斷地由上往下掉,我們需在它碰到下方邊 緣,再將它的 y 座標重設。程式碼如右:
練習:電流急急棒遊戲創作 場景安排:
(1) 開新檔案,刪除貓咪的角色。
(2) 編輯舞臺,繪製電流急急棒的路徑(黑色)及終點(紅色)。
在角色區按下開啟舞臺,在腳本區中選取「背景」面板,按下「編 輯」按鈕,使用「筆刷」工具,將筆刷大小調大,繪製 M 型黑線 路徑。使用「筆刷」工具,繪製紅色終點。
(3) 新增角色:在角色區中點選 按鈕,使用橢 圓工具繪製黃色的圓點,將它放在電流急急棒的
(4) 在黃色圓點上撰寫程式 碼 , 如 右:
位於「偵測」類。
位於「控制」類。
雙向選擇結構
在「控制」類中,提供雙向選擇結構積木,當條件成立時, 執行「如果」下方的程式碼,當條件不成立時,執行「否則」下 方的程式碼。例如:打地鼠遊戲中,若按下滑鼠,棒子會切換為 打下的造型。
Step 1 在角色區按下繪製新角色檔 案按鈕,畫出棒子的造型。
Step 2 在腳本區的造型面板中,按下「複製」按鈕,新增一個相同的造型。
在第二個造型右方,按下「編輯」按鈕,開啟繪圖視窗。使用按鈕 將棒子旋轉,並再畫下三條直線,如上圖右。
Step 3 在腳本區的造型面板中,將「造型 1」重 新命名為「棒子」,將「造型 2」重新命 名為「打下」。
Step 4 在腳本區的程式面板中,撰寫程式碼,如下:
練習:射擊蝙蝠遊戲創作
(1) 開新檔案,刪除貓咪的角色。 (2) 起始場景佈置
Step 1 在畫面下方的角色區中,點選左方中央的
「舞台」圖示。
Step 2 在腳本區中,點選「背景」
面板,按下「匯入」按鈕 開啟檔案。
Step 3 在對話框中,選取 Nature 中的 Woods 圖片。
Step 4 在腳本區中,刪除「背景 1」。
(3) 安排角色:槍枝的準心
Step 1 在角色區按下繪製新角色檔 案按鈕,畫出槍枝的準心。
Step 2 在腳本區的造型面板中,按下「複製」按鈕,新增一個相同的造型。
在第二個造型右方,按下「編輯」按鈕,開啟繪圖視窗,將中央的 圓形塗成紅色,如上圖右。
Step 3 在腳本區中,將角色的名稱重新命名
為「瞄準」。在造型面板中,將「造型 1」重新命名為「準心」,將「造型 2」 重新命名為「發射」。
Step 4 在腳本區的程式面板中,撰寫程式碼,如下:
(4) 安排角色:蝙蝠
Step 1 在角色區中點選按
鈕,開啟蝙蝠(Animals→bat1‐a)的 角色,再從腳本區的造型面板中, 再匯入另一個蝙蝠(Animals→
bat1‐b)的造型,以做蝙蝠飛翔的動畫。你可以使舞臺區上 方的「縮小角色」按鈕,將蝙蝠縮小至適當大小。方法是 按下 鈕後,再到舞臺區中的蝙蝠身上點選一下,即可 縮小其尺寸。設定蝙蝠只允許左
右翻轉。
Step 2 在腳本區的聲音面板中,匯入音效
(Effects→Pop)。
Step 3 在腳本區的程式面板中,撰寫蝙蝠飛翔的程式碼。
Step 4 在腳本區的程式面板中,撰寫蝙蝠被射中的程式碼。
Step 5 在角色區中,在蝙蝠上方按下
滑鼠右鍵,叫出快取功能表。 選取「複製」,重複 3 次,共複 製 4 隻蝙蝠。設定其起始的位 置不同,翅膀揮動的速度不同。
(5) 按下畫面右上方的綠旗開始執行程式。
變數
在上一個射擊蝙蝠的遊戲中,我們如何判斷 5 隻蝙蝠都已經被射中了呢?這 時候,我們就需要使用到變數來儲存被射中的蝙蝠數量,並作為遊戲是否過關的 判斷依據。Scratch 提供兩種不同的變數型態,一個是全域變數,適用於所有角 色,一個是區域變數,只適用於某角色。
如何宣告變數
在指令區中,選取「變數」類別的積木。按下
「產生一個變數」來新增變數。在使用變數時,你 必須先決定它是屬於全域變數,或是屬於區域變數。 以射擊蝙蝠的例子來說,我們要記錄目前已射下了 幾隻,應該使用全域變數(適用於所有角色),並將此 變數命名為「count」。
如何設定變數的值
在指令區中,有二個積木可以更改變數的值,一個是將變數值設定為某數, 一個是將變數值增加某一個量。在射擊蝙蝠的例子中,
我們首先在「舞臺」的「程式」面板中,設定 count 變數的初始值為 0。
接著,修改蝙蝠被射中的程式碼中 , 將 count 變數值增加 1。記得每一隻蝙 蝠的程式碼都要修改。按下綠旗執行程 式,並觀察 count 變數的值是否有變化? 當你射中一隻蝙蝠時,舞臺上的 count 變數值就會增加 1。如果你不想在舞臺 上顯示這個變數值,只要在指令區中, 將變數前方的打勾選項取消即可。
練習:判斷遊戲是否過關
接續上一個射擊蝙蝠的遊戲中,如何判斷 5 隻蝙蝠都已經被射中了呢?我們 使用了 count 這個變數來儲存目前已
被射中的蝙蝠數量,在遊戲中,我們 須不斷地檢查 count 這個變數值是否 已經累計到 5 了,所以我們可以將程 式碼放舞臺中。首先,準備一個背景 畫面,上面寫著過關。
Step 1 在腳本區中的「背景」面板,複製一個森林 的畫面,並使用繪圖工具將畫面上寫出「過 關」,把背景名稱重新命名為「pass」。
Step 2 在腳本區中的「程式」面板,撰寫程式碼如下:
在上面例子中,我們使用全域變數(適用於所有角色)來計算已經射下了幾隻 蝙蝠。接著,我們要介紹區域變數(只適用某角色)。在打蝙蝠的遊戲中,我們將 要為每隻蝙蝠各安排一個 life 變數,用來記錄它的
生命點數,即每隻蝙輯各被射中了幾次。若被射中 三次,才會被打下,不然,就將它設為更透明一點。 (1) 新增變數 life,選取「只適用此角色」。
(2) 修改蝙蝠的程式碼,如右:
(3) 將上述步驟重複應用到所有蝙蝠身上。
練習:打地鼠遊戲
(1) 開新檔案,刪除貓咪的角色。 (2) 起始場景佈置
Step 1 在畫面下方的角色區中,點選左方中央的「舞
台」圖示。
Step 2 在腳本區中,點選「背景」面板,
按下「編輯」按鈕開啟繪圖工具, 使用「橢圓」工具畫一個實心的橢 圓,再用「印章」工具複製成五個 橢圓,作為地鼠出現的洞口。 (3) 安排角色:地鼠
Step 1 在角色區中點選按 鈕,開啟老鼠
(Animals→mouse1)的角色,使用繪圖工具將 老鼠的身體塗掉,只留下頭部即可。複製一 份老鼠的造型,並在上面加畫一個 X。在 「聲 音」面板中,匯入「Effects→WaterDrop」
Step 2 新增變數 count,其類型為適用於所有角色。在老鼠身上撰寫程式碼
如下:
Step 3 將寫好程式碼的老鼠複製 4 份,並安排到不同的洞口。
練習:養魚遊戲
(1) 開新檔案,刪除貓咪的角色。 (2) 起始場景佈置
Step 1 在畫面下方的角色區中,點選左方中央的「舞台」圖
示。
Step 2 在腳本區中,點選「背景」面板,按
下「匯入」按鈕開啟檔案。
Step 3 在對話框中,選取 Nature
中的 underwater 圖片。
(4) 安排角色:飼料
Step 1 在角色區按下繪製新角色檔 案按鈕,畫出飼料。
Step 2 在腳本區的「程式」面板中,新增兩個全域變數 food、finish。
Step 3 在腳本區,修改角色的名稱為「飼料」:
Step 3 在腳本區的「程式」面板中,撰寫程式碼如下:
(5) 安排角色:小魚
Step 1 在角色區中點選按 鈕,開啟魚
兒(Animals→fish2)的角色,再從腳本區的 造型面板中,複製魚兒的造型,修改魚 兒的尾巴,以做魚兒游動的動畫。設定 魚兒只允許左右翻轉。
Step 2 在腳本區的「程式」面板中, 新增一個區域變數(只適用此角色)eat。
Step 3 在腳本區的「程式」面板中,撰寫魚兒游動的程式碼。
Step 4 在腳本區的程式面板中,撰寫魚兒吃到飼料的程式碼。
Step 5 在角色區中,在蝙蝠上方按下滑鼠右鍵,叫
出快取功能表。選取「複製」,重複 2 次, 共複製 3 隻魚先。設定其起始的位置不同。
(6) 安排舞臺:當三隻魚先都吃飽了就過關
Step 1 在腳本區中的「背景」面板,複製一個海底
的畫面,並使用繪圖工具將畫面上寫出「過 關」,把背景名稱重新命名為「pass」。
Step 2 在腳本區中的「程式」面板,撰寫程式碼如下:
Scratch
Scratch 程式與動畫設計
Scratch 軟體簡介...2
◎學習指引...2
◎軟體簡介...3
◎官方網站...3
◎教學資源共筆網站...3
◎教學文件...3
◎操作介面...4
◎程式選擇...5
校園自由軟體數位資源推廣服務中心
http://ossacc.moe.edu.tw
孫賜萍
P -2
Scratch 軟體簡介
◎學習指引
P -3
◎軟體簡介
Scratch 是美國麻省理工學院所開發的程式語言,可以用來創造互動式故事、動畫、遊戲、 音樂和藝術。非常適合國小小朋友及程式設計入門使用者來學習,目前的版本已經有支 援中文介面,學習過程完全不用背英文指令,只要用組合積木的概念,即可讓小朋友或 程式入門學習者輕鬆的在遊戲中輕鬆的學習程式與動畫設計。
而更棒的是您還可以在 Scratch 官方網站中,跟全世界的朋友分享您的作品,更可以透 過這個平台觀摩全世界的 Scratch 作品,並且可以下載原始 案研究學習程式 容。檔 內 Scratch 的軟體執行具跨平台的選擇,因此您不只可以在 Windows 下使用,並且也可以 在 Linux 或 Mac 作業系統的環境下使用,在教育部校園自由軟體應用推廣光碟 EzGo7 中, 也同時收錄了Windows 及 Linux 下的版本,歡迎大家索取體驗。
◎官方網站
.網址- http://scratch.mit.edu
.軟體下載- http://info.scratch.mit.edu/Scratch_1.4_Download
◎教學資源共筆網站
.網址- http://wekey.westart.tw/Scratch
◎教學文件
.快速指引手冊 (中文)
.快速指引手冊 (英文)
.Scratch Help Screens (中文)
.Scratch Help Screens (英文)
P -4
◎操作介面
程式類別
程式選項
角色編輯控制鈕 舞台顯示切換鈕
現有舞台與角色選擇區 編輯區
可直接拖曳以新增 或移除程式選項
P -5
◎程式選擇
P -6
2011/7/20
Scratch programming for
elementary schools’ teachers
賴阿福
台北市立教育大學 資訊科學系
2011/7/18~7/20
[email protected]
Scratch
• 演變來源:
– Logo :Turtle graphics (MIT Papert)
– programmable bricks:LEGO MindStorms (MIT)
– The buildingblock approach draws on previous research on LogoBlocks (Begel, 1996) and Etoys (Steinmetz, 2001),
• 特色:
– Buildingblock programming. Scratch programming will be based on a buildingblock Metaphor. Learners will draganddrop blocks from the library to create “stacks” (procedures) that govern behaviors of the object.
– Multiprocessing will be smoothly integrated into Scratch: different stacks of blocks will automatically execute in parallel.
– Programmable image processing – rich media
• Principal Investigators:
– Mitchel Resnick, MIT Media Laboratory – Yasmin Kafai, UCLA
– John Maeda, MIT Media Laboratory
2011/7/20
Examples of Scratch script
• Turtle graphics
• Loop control
• 猜數值
• 加法練習:亂數出題
• 減法練習
• 打擊魔鬼
• Retrieve element from list
• List當題庫
• Rolling ball
• Ball game
• Maze game
• music
• OX棋
Download Scratch 1.4
• V 1.4:http://info.scratch.mit.edu/Scratch_1.4_Download
• V 2.0 beta
2011/7/20
Educational application
• Why learn programming?
• Computer curriculum
• Integration into teaching
– Math
– Art
– Music
– literature
• Work creation tool in PBL
– Game design
– Storytelling
操作介面
• 標題列:顯示軟體與檔 案名稱。3
• 功能表列:常用的存檔、 開新檔案、開啟舊檔與 復原等功能。4
• 指令分類區:Scratch指 令共分八類均在此區中。
• 程式積木區:依指令分 5 類區點選的類別而出現 對應的程式積木。6
• 角色與舞台控制區:點 選’快速瀏覽區可顯示 欲控制角色(舞台)之程 式、造型(背景)與聲音 的控制。77
• 舞台區:動畫編輯的區 域。
• 舞台背景與角色快速瀏 覽區:舞台背景與角色 切換的控制。
1 3 2
4 5
6
7
2011/7/20
第一次接觸 : 會塗鴉(scratch)的貓
• Two events:
– main(),
onload
– Click, onlcick
• Can we
change
drawing color?
Infinite loop
Basic elements of programming
• Structure programming – Sequence – Iteration, repetition
• For, while, repeat until – Selection
• If else if … ,
• switch case
• Memory control – Variable, – Array, list
• Input /output – Console I/O – File I/O – Database
• Event – Keyboard – Mouse – Startup
• Function, method, subroutine, procedure – Caller
– Callee
• Object (sprite, stage) – Method
– Data (property)
In Scratch: no offered
2011/7/20
Loop control1
• Question: 1+2+…+n=?
• what’s wrong?
• Similar to c
– For(i=0;i<n;i++, sum=sum+i) ; – For(i=0;i<n+1;sum=sum+I, i++) ; –
Loop control2
• Repeat { } until ();
•what’s wrong?
2011/7/20
Loop control3
• Similar to While () { }
•what’s wrong?
Loop control4
• Question: 1+3+…+n=?
what’s wrong?
Handle error of input
2011/7/20
Loop control5
• Question: n!=1*2*…*n=?
•what’s wrong?
Features
• Visualized programming environment – Brick building and assembling – Syntaxerror free
– multithread
• Objectlike :method for each object, we can clone them
• Structured programming is convenient – Iteration ( Loop): for, while, repeat…. utile – Sequence
– Selection
• If, if..else
• Not provide switch case
• Turtle geometry – LOGO
• System Function – Random, math
• Userdefined function: Only for event driven function – Onload
– Click event (belong to a object) – Multimedia rich environment
• Function communication: shared memory, message passing
• Memory management is limit: Variable – Not offered array, but provide list – String processing is limit – Array of object: not support
• File I/o is limit
– The functions of Input, printf are limit
• Game element – Conflict detection
2011/7/20
Function communication
• shared memory, message passing
Object 1
message broadcast
Object 2
Object 3
Object n accept
Global variable Shared memory
Scratch2Exe
• 將Scratch的.sb檔轉為.exe(scratch2exe)
• 方法:
http://cc1.shsps.kh.edu.tw/xoops/modules/
tadnews/index.php?nsn=27
Scratch
.sb scratch2exe .exe
Web browser Java applet
2011/7/20
Turtle graphics
pendown
logo1.sb
Main program Run this program
variable
Size=input(“輸入移動步數”);
• Variable?
– Where?
– What purpose?
• Make a variable
FD size logo2.sb
2011/7/20
運算式
logo3.sb
猜數值
• Random
• 提示輸入數值?大或小
• loop 停止條件
• 猜的次數
guessnumber1.sb
2011/7/20
改變背景
1
4
加法練習
ADDdrill1.sb
2011/7/20
減法練習
• 答案不可以為負
數
subDR~1.sb
減法練習 2
• 答錯須重新回答
– 運用一變數correct
• 中文變數
subDR~2.sb
2011/7/20
打擊魔鬼
• 打擊者
– 按鍵控制
– 廣播”發射子彈"
打擊魔鬼1/fightmonster1.sb
bullet
• 接到”fire”之廣播,發
射子彈
• 判斷遇到邊緣或魔鬼
• 子彈之初始設定
2011/7/20
• 魔鬼須不斷上下
移動
• 被打到時:消失、
回到原點
Retrieve element from list
• Why not work?
• List:列表、串列
– 替代array
• 循序讀取
2011/7/20
List當題庫
• 結構:題目+選項+答案
• Other method: 運用6個 list,分別存放題目、4個
選項、答案 (parallel lists)
listprocess12.sb亂數出題: list放亂數 不重複之題號
3 2 1 4 5
listprocess13.sb
1 2 3 4 5
i 1 pick 3
Swap /exchange rseq
rseq
不重複!(1..n)
i 2 pick 5
2011/7/20
亂數由題庫抽題
Insertion sort
insertionsort1.sb
2011/7/20
Rolling
ball
Direct=0 Direct=1
Direct=2 Direct=3
第一象限 第二象限
第三象限 第四象限
x y
BALLB~correct1.sb
角色:ball
Change ball’s direction
Direct=0 1
Y>168 3
X>228
Direct=1 0 2
Y<168 X>228
Direct=2 3
1 Y<168 X<228
Direct=3
2
Y>168 0
X<228
2011/7/20
Game of 桌球
• 角色:panel
由ball detect collision Score varaible
BALLgame1.sb
角色:panel
Maze game1
destination Initial position
2011/7/20
Maze game1(續)
• Game is over if time out
What’s wrong?
Maze game2 :第二關
換第二關背景 Maze←2 maze2.sb
2011/7/20
Maze game2(續)
先上後下移動
先右後左移動 舞台換背景
Direct :
•sprite’s data member
•Not global variable
Maze game2(續)
• Maze=1
– 第一關
• Else (maze=2)
– 第二關
2011/7/20
Maze game2(續)
遇到crab or ant, then die
二關之起始位置一樣
打地鼠
• 地鼠被打到:record[i]=1
• End==1:6隻地鼠全被打到
killmice/killmice1.sb
2011/7/20
打地鼠 (ccont.)
hole1 monster1 Die: object之data member, not a global variable
將monster放在hole上
music
• note(音符) 60代表Do(1)、62 Re(2)、64
Mi(3)、65 Fa(4)、67 Sol(5)、69 La(6)、71
Si(7)、72 高音Do(1*)
2011/7/20
Sing a song
• 每個音節有2拍,第一個音節就是Do Do各半拍(0.5 beats),然後Do Mi又 各半拍(0.5 beats)。
OX棋
• Use list “record” to record player’ dice
– 0: null – 1: user – 2: CAT
• Each dice: has 3 styles
• Cat broadcast message “flip i”,dice i will flip its style for CAT.
• User can click the dice to flip it.
• There are some drawbacks in it.
– Please revise them.
oxgame1.sb
2011/7/20
• Compute who is the winner?
– Winner=0 (initial) – Winner=1 (user) – Winner=2 (CAT)
1 2 3
4 5 6
7 8 9
If (Record[1]=record[2] and record[2]=record[3]) { If record[1]=1 then winner=1;
Else if record[1]=2 then winner=2; }
2011/7/20
• If winner is
known, then
this game is
over!
Method of dice
• Accept message to flip
its style for CAT
• Click event: user clicks
the dice to flip its style
1 st dice
2011/7/20
BYOB
• Build Your Own Blocks (BYOB) 3.1
– a modification of Scratch, made by the
Scratch Team member Jens and userbharvey.
– It includes many new features from building
your own blocks to Mesh. The primary focus
for this Scratch modification is firstclass data.
• Make a block
•
Programming pedagogy for
elementary students
• Conventional method
– Based on command
– flowchart
• Projectbased method
– According to the need of project, then impart
command
– Focus on analysis, design, coding, debug,
revise, elaborate
• 眼高手低
• Time is inefficient
2011/7/20
Resnick’s approach
• Mitchel Resnick
研習講義
Scratch
for
Arduino
Arduino
什麼是 Arduino?
Arduino 是一塊基於開放原始碼發展出來的 I/O 介面控制板,讓使用者可以 快速使用 Arduino 語言與 Flash 或 Processing...等軟體,作出互動作品。Arduino 是在 2005 年 1 月由義大利米蘭互動設計學院的教授 David Cuartielles 和 Massimo Banzi 所設計,原始構想是希望讓設計師及藝術家們,透過 Arduino 很 快的學習電子和感測器的基本知識,快速的設計、製作作品的原型,很容易與目 前設計系所學的等軟體整合,使得虛擬與現實的互動更加容易。互動的內容設計 才是設計師的主要訴求,至於怎麼拼湊一個單晶片開發板,或是當中涉及如何構 築電路之類的知識,就並非設計師需要了解的,因此非常適合不具電子背景的人 使用,以設計出各種不同的互動裝置。
Arduino 包含了硬體與軟體兩大部分,硬體部分是一個約手掌大小的控制板 (寬 70mm X 高 54mm),核心使用八位元 ATMEGA8 系列的的微控制器,提供 14 個數位式輸出/入端,6 個類比式輸出/入端,支援 USB 資料傳輸,可以使用 自備電源(5V~9V)或是直接使用 USB 電源,使用者可以在數位式輸出/入端上接 上不同的電子裝置,例如 LED 燈、喇叭、馬達,然後再由控制器來驅動燈的亮 滅、喇叭發聲、馬達運轉。
目前有許多學校使用 Scratch 教學程式語言概念,其實也可將 Arduino 與 Scratch 結合,讓學生自行撰寫 Scratch 程式控制 Arduino 做出各種動作,或是 由 Arduino 取得外部感測器偵測到的數值。例如使用 S4A 軟體,我們可以從 Arduino 取得可變電阻的變化,轉換成數值後再讀取到 Scratch 程式中,控制畫
1.準備 Arduino I/O 板與 USB 連結線。
2.下載 Arduino 程式。http://arduino.cc/en/Main/Software 3.將 Arduino 與電腦連結。
4.指定驅動程式。 arduino‐0022\drivers
5.從電腦管理中,觀看 Arduino 使用的連接埠位置
6.下載 S4A 的軔體。
http://seaside.citilab.eu/S4AFirmware12.pde
7.使用 Arduino 程式開啟 S4AFirmware12.pde,選擇 Serial Port。
8. 將程式上傳到 I/O 板。
9.開啟 S4A 程式,約 15 秒後可完成連線偵測。
Scratch for Arduino
範例一:控制 LED 燈 硬體:
1. LED 模組 2 個 2. Arduino 控制板
3. Arduino 感測器擴充板 4. 連接線 2 條
接法:
1. 將控制板使用 USB 線接到電腦。 2. 將擴充板連結到控制板上。
3. 使用連結線連結 LED 模組與擴充板(13pin) S4A 積木
例題:閃燈
練習題:雙閃燈
將 LED 模組接到 pin10 及 pin11。
練習題:蝙蝠飛行、碰到邊緣,LED 會發亮 1 秒,同時蜂鳴器也會發聲 1 秒。 將 LED 模組接到 pin10,將蜂鳴器模組接到 pin13。
範例二:按鈕 硬體:
1. Arduino 控制板
2. Arduino 感測器擴充板 3. 按鈕 1 個
4. 連接線 1 條
接法:
1. 將控制板使用 USB 線接到電腦。 2. 將擴充板連結到控制板上。
3. 使用連結線連結按鈕模組與擴充板(A0) S4A 積木
例題:按下按鈕,變換造型。
練習題:按下按鈕,蝙蝠往前飛(碰到邊緣就反彈)。
範例三:旋轉鈕 硬體:
1. Arduino 控制板
2. Arduino 感測器擴充板 3. 300 度旋轉鈕 1 個 4. 連接線 1 條
接法:
1. 將控制板使用 USB 線接到電腦。 2. 將擴充板連結到控制板上。
3. 使用連結線連結按鈕模組與擴充板(A0) S4A 積木
例題:利用旋轉鈕,控制角色的位置。
製作由上往下掉的球,若接到球則分數 score 加 1,並發出音效。
球的程式碼:
此設備可換成線性電位計
範例四:搖桿 硬體:
1. Arduino 控制板
2. Arduino 感測器擴充板 3. 搖桿 1 個
4. 連接線 3 條
接法:
1. 將控制板使用 USB 線接到電腦。 2. 將擴充板連結到控制板上。
3. 使用連結線連結搖桿模組與擴充板(Z:A0,Y: A1,X:A2)
例題:利用搖桿,控制角色位置可以上下左右移動,當按下時,會變成噴火造型。
範例五:伺服馬達 硬體:
1. Arduino 控制板
2. Arduino 感測器擴充板 3. 伺服馬達 1 個
建議採購清單
項目 參考價格
Arduino USB I/O 控制板 *1 1090 Arduino 感測器擴充板 *1 320 連結線 *8
LED 模組板 * 2 150 蜂鳴器模組板 *1
雙軸搖桿 *1 290
線性電位計 60mm *1 150 光敏電組模組板 *1
伺服馬達(continuous rotation) *1 300
按鈕開關模組板 *1 60
300 度旋轉角度感測器 *1 80
Usb 傳輸線 *1 50
整理盒 *1 200
2011/7/20
Scratch for Arduino
藝科資訊 許世樺、孫駿榮 http://www.aroboto.com
o
Arduino
o
Application of Arduino
oScratch for Arduino
oExample
o
Serial Communication
oControl Motor
Agenda
2011/7/20
Adruino
o
“Arduino is an open-source physical
computing platform based on a simple i/oboard and a development environment that
implements the Processing / Wiring
language. Arduino can be used to develop
stand-alone interactive objects or can be connected to software on your computer.“www.arduino.cc, 2006
Why Arduino
o
軟體與硬體皆為開放原碼,網路上都可以找到
所有資料。
o
價錢便宜,一塊包含完整功能的基本開發版約
為1000台幣。
o
它可以使用USB線與電腦溝通。
o
電源可由USB接線供應,也提供外部電源接口
。
2011/7/20
Arduino Software
o
www.arduino.cc
Arduino Software
o
目前最新版本IDE:Arduino 0022
o支援:Windows、Mac、Linux
2011/7/20
Arduino Software
Arduino Software
2011/7/20
Arduino Software
Arduino Software
2011/7/20
Adruino I/O Board
Adruino Duemilanove
USB通訊
外部電源穩壓
控制核心 數位I/O
類比I/O 電源
2011/7/20
Adruino ??
NANO Arduino BT
Lily Pad Arduino MINI
Arduino Group
o www.adruino.cc
o www.arduino.cc/playground o
台灣
n Aroboto.com 藝科資訊
2011/7/20
Arduino Group
Arduino Book
2011/7/20
Arduino Applications
Arduino Applications
2011/7/20
Arduino Applications
Arduino Applications
2011/7/20
Arduino Applications
Arduino Sensors and
Actuators
o Sensors – 感測
n 按鈕、觸碰螢幕、類比搖桿、可變電阻、光敏 電阻、超音波、紅外線、加速度計、陀螺儀、 磁力感測等。
o
Actuators – 動作
n LED、蜂鳴器、直流馬達、步進馬達、伺服馬達
、LCD等。
o
Communication – 通訊
n RF、藍芽、WiFi、ZigBee、網路。
2011/7/20
Arduino Communication
Arduino Sensors
2011/7/20
Arduino Actuators
Arduino Shields
o
ProtoShield
o與麵包板搭配
2011/7/20
Arduino Shields
o
Ethernet Shield
o支援網路與記憶卡
Arduino Shields
o
XBee Shield
2011/7/20
Arduino Shields
o
WiFiShield
Arduino Shields
2011/7/20
Arduino Shields
Arduino + Processing
2011/7/20
Arduino + Processing
S4A Homepage
2011/7/20
o
Arduino IDE
o
Scratch for Arduino IDE
oArduino Hardware
Everything you need
o
Install USBtoRS232 Driver for
Arduino
o
Download the Fireware to Arduino
oConnect Arduino to PC and Open S4A
First~
2011/7/20
S4A at Begin
S4A Language
2011/7/20
S4A Command Line
o
預先下載Firmware,不需要每次親自下載程式
o圖形化介面,可以輕易瞭解,開發容易
Different with Arduino
2011/7/20
o
Make it become wirless
oCOMPORT Setting
n TX and RX in one COM o
COMPORT Select
n In S4A
n Port Monitor
Bluetooth
Example 1
2011/7/20