還記得以前玩過的電流急急棒嗎?不論是在網路上或現實生活中,我們將這份傳統又好玩的經典遊戲由雲教授製作出來!若只有在手機App上玩過電流急急棒的同學,這次我們透過手機,參照以下教學,一起打造出真實的電流急急棒玩具。
經典復古版電流急急棒重現江湖,過去電流急急棒都是透過金屬導電方式讓人產生刺激快感,但往往也會讓人因為害怕而無法體驗其遊戲之樂趣,透過CPF數位訊號原理,為大家找回兒時記憶,降低遊戲的危險性,並提升遊戲的樂趣,讓不管大人小孩都能體驗電流急急棒的刺激感。
電流急急棒的障礙物主要是導電膠帶製成,並連接至D6插槽的VCC腳位形成正極電流,接著使用棒子連接D6的GND腳位形成負極電流,當負極撞上正極時即產生高電壓,此時D6插槽的值表示為1,透過程式碼判斷D6等於1時,播放蜂鳴器,遊戲結束。
使雲教授連結所需的設備,將導電膠帶連向D6的VCC腳位作為遊戲路線,將棒子接在D6的GND腳位,蜂鳴器則在D5位置。
配對好雲教授,開啟CPF Arduino,進入Lesson 8 插槽模式。
進入後,按下編輯程式的按鈕,將預設程式碼全部刪除,重新命名主題並先定義變數。
//電流急急棒//
var touchSensor;
var i;
程式解析:
撰寫觸碰感測的副程式touchSensorSet()
,讀取導電膠帶是否有被觸擊,並將數值回傳給主程式。
function touchSensorSet(){
touchSensor = cpf.get("socket d6");
ui.set("socket d6", touchSensor);
return touchSensor;
}
程式解析:
撰寫蜂鳴器的副程式,目的為碰到電流急急棒的電流時會播出的音樂。
function buzzerControl(){
for(i=0;i<25;i++ ) {
cpf.set("socket d5", 1000, 50);
cpf.set("socket d5", 500, 50);
}
}
程式解析:
開始撰寫主程式,原理為觸碰到導電膠帶時,播放蜂鳴器,若無則持續關閉蜂鳴器,最後加上cpf.repeat() 重複執行。
if(touchSensorSet() == 1){
buzzerControl();
}else{
cpf.set("socket d5",0);
}
cpf.repeat();
//電流急急棒//
var touchSensor;
var i;
if(touchSensorSet()==1){
buzzerControl();
}else{
cpf.set("socket d5",0);
}
function touchSensorSet(){
touchSensor = cpf.get("socket d6");
ui.set("socket d6", touchSensor);
return touchSensor;
}
function buzzerControl(){
for(i=0;i<25;i++ ) {
cpf.set("socket d5", 1000, 50);
cpf.set("socket d5", 500, 50);
}
}
cpf.repeat();
在電流急急棒的遊戲上,你可以製作出很多的變化,經典的電流急急棒遊戲其實不只是一條路線而已,你可以在路線中加裝一個十字型的導電膠帶,並配合360馬達旋轉,增設障礙物,增加遊戲難度,或是裝上RGB LED燈,讓外型以及路線變得更美觀、更耐玩。不妨讓這份遊戲產生一些變化,讓家人以及朋友遊玩自己打造的電流急急棒。