執行 Scratchbit 來玩 Scratch 2.0 (新增PicoBoard's Extension)並用 micro:bit 透過 Serial UART 來當遊戲控制器 (跨平台 MacOS X, Windows篇)

緣起:使用 Scratch 2.0 來做多媒體資訊教育是很方便的,並藉由 BBC micro:bit 來當遊戲控制器更可增添學習的樂趣,同時希望能夠找到跨平台(Windows、MacOS X)的簡單方法...

楔子:之前也嘗試過不同的方式,但此次是要以 Scratch 2.0 (非舊版 1.4) 為主,最好 線上版離線版 均適用...千找萬找,終於找到... Scratchbit (它是開源的... https://github.com/vecsei/Scratchbit ,同時又可以學習相關micro:bit的micropython開發程式...)

示範影片,如下


準備環境
  1. Windows 10/MacBook Pro筆電
  2. BBC micro:bit (需插USB資料傳輸線)
  3. Scratch 2.0離線版
實作步驟
  1. Windows10筆電:
  • 依據 https://github.com/vecsei/Scratchbit 指示,下載源碼 ( git clone https://github.com/vecsei/Scratchbit.git ),如下圖
  • 再將 scratchbit.py 程式 拖拉到 線上編輯器 ( http://micro-edit.codeguild.co/editor.html# ),按下 [Download] 產生 .hex 檔案,如下圖

          其中,我參攷了 https://www.microbit.co.uk/td/serial-library 修改了程式第#19行 (set the baud rate to 115200) ,如下圖(原 38400)


          經測試以上修改成 115200 是無法正常的,原來的 38400 才行,不知原因為何?!

  • 再安裝 micro:bit Serial over USB驅動程式 mbedWinSerial_16466.exe (參攷 https://microbit-playground.co.uk/howto/microbit-serial-connection-over-usb ),並插上 micro:bit 到 [電腦管理] 查看 是否連接成功,如下圖

  • 再將 .hex 檔案 傳送到 MICROBIT,如下圖

         此時,在 micro:bit 上會顯示 Connect USB cable! In Scratch add PicoBoard extension ! ,如下圖(可自行修改micropython程式)
  • 再登入 Scratch線上版 ( https://scratch.mit.edu/projects/ ),點選 [更多積木]、[添加擴充功能],再於 Extension Library 選 [PicoBoard] ,如下圖

         此時,可以看見 擴充功能 是 紅燈 表示無法使用???

  • 此時,作者未提供相關線索,只好上網查找相關資料後...再到 https://scratch.mit.edu/info/ext_download/ 安裝 Scratch 的瀏覽器擴充插件,如下圖




  • 再到 線上版 https://scratch.mit.edu/projects/157159412/#editor 就可以玩範例遊戲了(PicoBoard顯示綠燈),如下圖(注意 micro:bit LED是顯示 C)



           或者是 點選作者提供的範例檔 scratchbitdemo.sb2 開啟 Scratch 2.0離線版 來玩,如下圖(注意 micro:bit LED是顯示 C)
           此時,可參攷作者編寫的 scratch積木 及 主角、事件驅動...真是棒!!!...
           其實,以 micro:bit 來當遊戲控制器,有了 PicoBoard 的四個積木,還可以玩不少的應用...



      2.MacBookPro筆電:
  • 下載源碼,如下圖 

  • 產生 .hex 檔案,如下圖

  • 拖曳到 MICROBIT,如下圖

  • 到 https://scratch.mit.edu/info/ext_download/ 安裝 Chrome擴充功能,如下圖





  • 就可以到 線上版 https://scratch.mit.edu/projects/157159412/ 快樂玩遊戲了,如下圖(注意 micro:bit LED是顯示 C)
       或者是 點選作者提供的範例檔 scratchbitdemo.sb2 開啟 Scratch 2.0離線版來玩,如下圖(注意 micro:bit LED是顯示 C)


後記:非常感謝 vecsei (https://github.com/vecsei) 無私的分享(其scratch遊戲範例設計的真棒!!),不過似乎還可以有些改進空間( 部分 micro:bit 的感測器沒有積木、可否用BLE無線來取代USB有線)。有了此次學習經驗,讓我有興趣去試探下一步--自製 Scratch 2.0 Extensions 擴充積木(參攷 https://wiki.scratch.mit.edu/w/images/ExtensionsDoc.HTTP-9-11.pdf ) 並重啟我的 github repositories ...

留言