Scratch for LaunchPad

投影片 - 小學生也能玩互動科技? Scratch+LaunchPad
  • 什麼是Scratch?

Scratch 是一種新的程式語言,讓學生簡易地創作出互動故事、遊戲和動畫,更可訓練學生編寫電腦程式的邏輯思維,還可以在網站與其他人分享你的創作。 Scratch 是由美國麻省理工學院多媒體實驗室所開發的開源圖形化程式環境介面,由於簡單易懂的圖像模組,無需理解艱澀的程式碼,因此普遍使用於國中小的互動教學中。

中文參考手冊下載

  • 前言 SILP = Scratch Interface Protocol for LaunchPad I/O

這一個構想是出自於簡化玩家使用互動科技的門檻,目標開發出一個能夠與Scratch程式連接的相容硬體,已用於許多國中小教學與撰寫Scratch互動程式溝通上。Scratch Interface Protocol for LaunchPad I/O 簡稱做SILP,當然是取自於社群,用之於社群,以免費提供open source玩家下載使用(簡易自動安裝檔),讓簡單的互動軟體用在LaunchPad擷取環境訊號,設計互動活動的構想上,在電腦中使用易懂的圖形撰寫程式Scratch來處理。提供了一個低成本的解決方案來玩Scratch互動應用程式

在基板載入特定的SILP可以與Scratch相互配合,這種概念可以試圖簡化一般玩家對於互動程式撰寫的門檻,畢竟我們'想拿LaunchPad來做一些好玩的應用而不是艱深的學術理論,而讓玩家花少一點的功夫在建構出底層溝通協定。現已支援的通訊協定,更棒的是,網路上眾多的分享互動例子可以讓玩家立即上手,立即套用,快速連接互動裝置。

注意! 有任何有使用問題與建議,歡迎在討論區留言,任何更新將會放置在下一個釋出版本的更新中。

  • 安裝SILP套件步驟

1. 先取得 Scratch 互動套件組合 透過USB連接上你的電腦。如果你還沒有的話,請看這裡

2. 安裝Scratch電腦開發環境,如果你有安裝DVD光碟,請放入電腦開始安裝。如果沒有,先下載來玩玩看。

下載網址 http://info.scratch.mit.edu/Scratch_1.4_Download

4. 安裝LaunchPad driver for windows,請參考這裡說明。(如果電腦有安裝可略過)

5. 安裝SILP到基板。上傳到基板的晶片核心,或經由已編譯檔直接上傳,請參考這裡。或用整合開發IDE編譯完再上傳。

6. 參考網上提供的互動範例,讓玩家快速上手。

7. 開始玩吧 !!

  • 技術支援的社群

歡迎加入LaunchPad Scratch的使用社群,對於使用上有任何寶貴意見可以在討論區 (這裡) 留言,歡迎提出來討論。

  • 實際操作影片

  • 支援Scratch硬體比較

Scratch的運用平台比較
  • 補充技術資料 - SILP對於基板腳位的定義 SILPv4

在SILP 套件中,我們定義出功能,讓玩家不用煩惱溝通協定,而直接使用SILP與Scratch程式和LaunchPad基板配合做出互動式應用。

P1.0 滑桿已支援

P1.1 UART Transmit 通訊埠傳輸

P1.2 光線 已支援

P1.3 聲音 已支援

P1.4 按鈕 已支援

P1.5 Sensor A 類比輸入 已支援

P1.6 Sensor B 類比輸入 已支援

P1.7 Sensor C 類比輸入 已支援

Sensor D 環境溫度 (暫定)

  • 補充技術資料 - SILP傳輸協定介紹

傳輸模式

LaunchPad因為硬體傳輸率的限制,採用GOGO Board protocol相同的通訊埠協定9600N81,而其中有兩個模式可以選擇:

    • 單機作業模式(autonomous mode)

    • 電腦對話模式(tethered mode)

目前只希望透過USB連接電腦而執行Scratch的,因此只針對對話模式( tethered mode) 加以開發,單機模式就先不用管它

傳輸封包

You can now use the GoGo sensor values from the "sensor" block. Note that the sensor values are scaled to range between 0 and 100 (and not 0 to 1023 like in the GoGo Monitor software). Sensor 1-4 are called "Slider", "Light", "Sound", and "Button" in Scratch

  • 觸發模式 Burst Mode

the computer issues A0 FF which sets all eight of the board's sensors to go into burst mode.

此處為全部的感應器都啟動 ,因此 Burst bits = 0xFF

    • 接受命令封包 (Rx) - 總共4個Bytes

Scratch傳給基板的命令封包為:

0x54 0xFE 0xA0 0xFF

    • 回應資料封包 (Tx) - 總共無限多個Bytes

基板回應Scratch的資料封包格式為:

0x54 0xFE 0xA0 0xFF 0x55 0xFF 0xAA 0x0C Sensor Num+high Sensor low

0x0C 0x01 0x44 = 324

Slider --> sensor1 000 -->0x0

Light --> sensor2 001 -->0x2

Sound --> sensor3 010 -->0x4

Button --> sensor4 011 -->0x6

A --> sensor5 100 -->0x8

B --> sensor6 101 -->0xA

C --> sensor7 110 -->0xC

D --> sensor8 111 -->0xE

    • 補充技術資料 - SILP參考

http://richardgoyette.com/ItchBotsHardDesignDetails.html

http://richardgoyette.com/ItchBotsHardMain.html

http://richardgoyette.com/ItchbotsVersion1HueyCode.html

  • 補充技術資料 - SILP參考範例

http://www.gogoboard.org/using-gogo-board-serial-protocol

http://www.43oh.com/forum/viewtopic.php?f=10&t=22

http://www.43oh.com/forum/viewtopic.php?f=8&t=817

http://code.google.com/p/gogo-board-shield/updates/list

  • 補充技術資料 - 硬體支援

IchiBoard http://www.cs.uml.edu/ecg/index.php/IchiBoard/IchiBoard

PicoBoard http://www.picocricket.com/picoboard.html