02射擊大白鯊

繼第一課的「閃燈」後,我們再「利用Arduino Uno控制板+S4A Sensor Board 搭配Scratch 2.0 + Transformer程式」來做第二課的作品(射擊大白鯊),我們會利用到S4A Sensor Board 的「滑桿(可變電阻)」來移動角色位置,利用「按鍵開關」來發射子彈!小朋友,是不是想要大顯身手了呢??

題目一:射擊大白鯊

  1. 利用USB線將Arduino Uno板與電腦連接, 並且Arduino板先與S4A Sensor Board結合在一起
  2. 啟動Transfor­mer程式 (請參閱前面說明
  3. 進入Scratch2.0程式(離線版),並且發現s2a_fm出現「綠燈」,連線成功!
  4. 硬體圖如下

5.Scratch2.0的程式

說明:溍水伕在左方上下移動;鯊魚由右方向左方直線移動,子彈從潛水伕的槍管處向右直線移動

  • 潛水伕的程式(接硬體時是採用S4A Sensor Board 的滑桿來控制上下移動,程式如下)

說明:

A0值介於 0~1023間(長度為1023);Y座標介於 -180~180間(長度為360)

利用A0/1023 * 360來換算成(Y座標+180)的距離,

最後再利用A0/1023 * 360 -180 還原成Y座標的值

可從下圖來更清楚了解,這換算公式的過程

  • 鯊魚的程式:鯊魚由右方向左方直線移動
  • 子彈的程式(未接硬體時是採用按下滑鼠左鍵來發射子彈,程式如下)
  • 子彈的程式(接硬體時是採用S4A Sensor Board 的「按鍵開關」來發射子彈,程式如下)

說明:

按鍵開關未按下時,D2的值是0

按鍵開關按下後,D2的值是1

  • 小朋友,程式完成了,趕快點擊「綠旗」,來享受一場射擊遊戲。
    • 也可以將此程式上傳到官網去哦!

題目二:射擊大白鯊 (先開啟已完成的純Scratch作品,再導入Transformer的硬體積木)

  1. 利用USB線將Arduino Uno板與電腦連接, 並且Arduino板先與S4A Sensor Board結合在一起
  2. 啟動Transfor­mer程式 (請參閱前面說明),不要勾選「打開Scratch檔(唯讀)」
  3. 硬體圖如題目一
  4. 手動開啟 Scratch2.0程式(離線版),這時「更多積木」中不會出現s2a_fm及相關積木!
    1. 開啟附件的「射擊大白鯊(不含硬體)」檔案(或到阿玉Scratch作品集的05射擊遊戲」下載)
  5. 按住shift鍵不放再用滑鼠點選「檔案」,點擊「匯入實驗性HTTP功能」

完成上面的動作後,你就會發現「更多積木」中的s2a_fm出現「綠燈」,且硬體相關積木也都出現了,就跟之前的情況一樣了,連線成功!

題目三:猴子接香蕉

  1. 利用USB線將Arduino Uno板與電腦連接, 並且Arduino板先與S4A Sensor Board結合在一起
  2. 啟動Transfor­mer程式 (請參閱前面說明
  3. 進入Scratch2.0程式(離線版),並且發現s2a_fm出現「綠燈」,連線成功!
  4. 硬體圖如題目一
  5. Scratch2.0的程式

說明:猴子在下方左右移動;香蕉由上向下方直線移動

    • 猴子的程式(接硬體時是採用S4A Sensor Board 的滑桿來控制左右移動,程式如下)

說明:

A0值介於 0~1023間(長度為1023);X座標介於 -240~240間(長度為480)

    • 再利用S4A Sensor Board 的「按鍵開關」來控制猴子跳躍,程式如下)

說明:

按鍵開關未按下時,D2的值是0

按鍵開關按下後,D2的值是1

    • 香蕉的程式:香蕉由上往下方掉落,沒有用到硬體控制
  • 小朋友,程式完成了,趕快點擊「綠旗」,來玩玩看吧!。

結論:

小朋友利用Arduino Uno控制板+S4A Sensor Board 搭配Scratch 2.0 + Transformer程式來做第二課的「射擊大白鯊」是不是很好玩啊!只要原本是利用滑鼠或鍵盤左右移動或上下移動的動作都可以改用S4A Sensor Board的「滑桿」(A0)來完成;而且原本是按滑鼠左鍵或按鍵盤上某一鍵的動作也可以藉由S4A Sensor Board的「按鍵開關」(D2)來達到同樣功能。小朋友,想一想,你還可以用這兩個硬體(滑桿、按鍵開關)來做什麼事?