WFduino搖桿應用及操作

Description

Description
作者:陳金助

創作架構

雙軸按鍵搖桿:

 

特性:

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

十字搖桿為一個雙向的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(維)的遊戲。

Latest posts by chen juh (see all)

    Contact

    Contact
    • Category
      開發板

    Project簡述

    Project簡述
    • 簡述
      兩路類比量輸出,一路數位量輸出; 十字搖桿為一個雙向的10K電阻器,隨著搖杆方向不同,X、Y軸的電阻值隨著變化。 向下按搖杆,可以觸動一個開關,為數位輸出。
    • 作者
      陳金助

    您的姓名 〈需填寫〉

    您的電子郵件信箱 〈需填寫〉

    主旨

    您的信件內容