02射擊大白鯊
繼第一課的「閃燈」後,我們再「利用Arduino Uno控制板+S4A Sensor Board 搭配Scratch 2.0 + Transformer程式」來做第二課的作品(射擊大白鯊),我們會利用到S4A Sensor Board 的「滑桿(可變電阻)」來移動角色位置,利用「按鍵開關」來發射子彈!小朋友,是不是想要大顯身手了呢??
題目一:射擊大白鯊
- 利用USB線將Arduino Uno板與電腦連接, 並且Arduino板先與S4A Sensor Board結合在一起
- 啟動Transformer程式 (請參閱前面說明)
- 進入Scratch2.0程式(離線版),並且發現s2a_fm出現「綠燈」,連線成功!
- 硬體圖如下
5.Scratch2.0的程式
說明:溍水伕在左方上下移動;鯊魚由右方向左方直線移動,子彈從潛水伕的槍管處向右直線移動
- 未接硬體的程式可參考「阿玉Scratch作品集的05射擊遊戲」
- 潛水伕的程式(未接硬體時是採用滑鼠來控制上下移動,程式如下)
- 潛水伕的程式(接硬體時是採用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的硬體積木)
- 利用USB線將Arduino Uno板與電腦連接, 並且Arduino板先與S4A Sensor Board結合在一起
- 啟動Transformer程式 (請參閱前面說明),不要勾選「打開Scratch檔(唯讀)」
- 硬體圖如題目一
- 手動開啟 Scratch2.0程式(離線版),這時「更多積木」中不會出現s2a_fm及相關積木!
- 開啟附件的「射擊大白鯊(不含硬體)」檔案(或到「阿玉Scratch作品集的05射擊遊戲」下載)
- 按住shift鍵不放再用滑鼠點選「檔案」,點擊「匯入實驗性HTTP功能」
完成上面的動作後,你就會發現「更多積木」中的s2a_fm出現「綠燈」,且硬體相關積木也都出現了,就跟之前的情況一樣了,連線成功!
題目三:猴子接香蕉
- 利用USB線將Arduino Uno板與電腦連接, 並且Arduino板先與S4A Sensor Board結合在一起
- 啟動Transformer程式 (請參閱前面說明)
- 進入Scratch2.0程式(離線版),並且發現s2a_fm出現「綠燈」,連線成功!
- 硬體圖如題目一
- Scratch2.0的程式
說明:猴子在下方左右移動;香蕉由上向下方直線移動
- 未接硬體的程式可參考「阿玉Scratch作品集的04猴子接香蕉」
- 猴子的程式(未接硬體時是採用滑鼠來控制左右移動,程式如下)
- 猴子的程式(接硬體時是採用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)來達到同樣功能。小朋友,想一想,你還可以用這兩個硬體(滑桿、按鍵開關)來做什麼事?