Arduino第17課(搖桿)

雙軸按鍵搖桿:

 

特性:

兩路類比量輸出,一路數位量輸出;

十字搖桿為一個雙向的10K電阻器,隨著搖杆方向不同,X、Y軸的電阻值隨著變化。

向下按搖杆,可以觸動一個開關,為數位輸出。

一、基本操作

 

搖桿有五個接腳,GND接地,+5V接5V,VRx接類比腳A0輸入,VRy接類比腳A1輸入,SW接類比腳A2輸入(SW也可以接數位輸入)。

各家廠商的接腳位置稍有不同,實際接線請對照板子上的針腳記號。

A.搖桿畫圖1

 

因為程式修正,以後用到[讀取類比腳位A0]積木時,請在[當綠旗被點一下]積木下方增加[腳位A0模式設為INPUT]積木。

將類比腳位A0、A1、A2讀到的值分別用變數x、y、z來表示,方便程式寫作。

操作搖桿移動角色,就會畫出移動的軌跡。

按下按鍵,清除筆跡,重新開始畫軌跡。

理論上不動搖桿時,X、Y軸的值為中間值512,搖動搖桿分別會加或減,最高為1023最低為0,實際上因為材料關係,會有一些變化。

畫圖時要做一些公式轉換,才可以轉換成畫面上的座標位置。

實際畫圖時發現搖桿移動太靈敏(間隔太小)無法控制微調。

程式下載:搖桿畫圖1.sb2

B.搖桿畫圖2

改成用[如果…就…]來判斷往哪個方向移動。

這樣就比較好控制了。

程式下載:搖桿畫圖2.sb2

二、電流急急棒 

在舞台的背景畫上電流急急棒的路線圖形。

重複播放音樂。

主要程式同上面,用[如果…就…]來判斷往哪個方向移動。。

再加上如果超過路線(碰到外面)就回到原點,如果碰到障礙(藍色短棍)也回到原點。

用蘋果來代表終點。

蘋果如果碰到小球,表示小球走到終點了,就說[恭喜過關]並播音樂,然後[停止全部]結束。

畫一個[障礙短棍]的腳色,讓它來回移動。

程式下載:搖桿電流急急棒.sb2

延伸:

1.設計結束畫面,結束時換成結束的畫面。

2.增加倒數計時,超過時間沒過關,顯示失敗。

三、方向燈

在麵包板上接四顆LED,讓搖桿四個方向控制不同燈亮。

搖桿有五個接腳,GND接地,+5V接5V,VRx接類比腳A0輸入,VRy接類比腳A1輸入,SW接類比腳A2輸入。

四顆LED的負極分別接220歐姆電阻後接arduino的GND,LED的正極分別接數位腳D8、D9、D10、D11

[腳位(8、9、10、11)模式為OUTPUT],設定數位腳D8、D9、D10、D11為輸出。

將類比腳位A0、A1、A2讀到的值分別用變數x、y、z來表示,方便程式寫作。

用[如果…就…否則…]來判斷往哪個方向移動。

[果X>900就腳位8輸出1否則腳位8輸出0],如果搖桿往右偏,A0讀到的值就會大於900,就讓腳位8輸出1,右邊的LED亮,否則就不亮。

同理,利用X、Y的值來判斷讀到的值,讓4顆LED分別亮或不亮。

程式下載:XY方向燈.sb2

壓下搖桿時,A2(Z軸)讀到的值為0

同上,利用Z的值來判斷讀到的值,讓4顆LED一起亮或全部不亮。

程式下載:方向燈(4燈).sb2

結合前面兩個程式,搖桿向前、後、左、右搖時分別是前、後、左、右的LED燈亮。

壓下搖桿時,4顆LED一起亮。

程式下載:方向燈(全部).sb2

延伸:

執行結果發現會變成一閃一閃的,為什麼?請找出原因。

四、其他

十字搖桿為一個雙向的10K電阻器,所以請參考第九課(可變電阻)設計相關活動。

延伸:加在自走車上變成線控自走車。

五、遊戲設計

常見的許多電腦遊戲都會運用搖桿來操控腳色移動,我們也可以模仿製作類似的遊戲。

1.如果增加一些飛彈射擊,就可以變成射擊遊戲。

2.如果加一些水果掉下來,就可以變成猴子接水果遊戲。

3.打磚塊遊戲的棍子可以使用搖桿來操控。

4.其他2D(維)的遊戲。

———————————-

相關連結:

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

設計視訊互動遊戲超簡單

http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

roc

宜蘭縣國小資訊小站

您可能也會喜歡…