[Gadgeteer]搖桿模組X、Y軸數值變化讀取
這一回我們要玩的是搖桿模組(joystick module)。Gadgeteer的搖桿模組有X、Y兩軸的可動度,以及一個下壓的按鈕。接下來向您介紹如何讀取搖桿模組的X、Y軸數值,並用最簡單的方式──Debug.Print來呈現資料:
搖桿模組X、Y軸位置之資料型別為double,數值範圍從0-1。將搖桿如下圖擺正,向上向右為1,向下向左為0,中間則為0.5。

本範例使用的硬體如下:
1. FEZ Spider主板
2. Mini USB線用來連接電腦
3. USB供電板
4. 搖桿模組
請依照下圖接線完成即可。
程式解說
STEP1 新增專案
建立一個Visual Studio C#專案,專案設定如下:
名稱:[joystick_(x,y)_Position]。
版本:4.2
STEP2 新增搖桿模組
新增joystick模組,將搖桿連接到主控制版的9號接頭。
STEP3 讀取搖桿模組X、Y軸位置資料,並將其顯示在Debug欄位上
程式解說:
<Program.cs>
using System;
…
using Gadgeteer.Modules.GHIElectronics;
namespace joystick__x_y__position
{
public partial class Program
{
GT.Timer myTimer = new GT.Timer(1000); //建立一個名為myTimer的新Timer型別資料
void ProgramStarted()
{
myTimer.Tick += new GT.Timer.TickEventHandler(myTimer_Tick); //建立myTimer.Tick的新事件
myTimer.Start(); //啟動myTimer
Debug.Print("Program Started");
}
void myTimer_Tick(GT.Timer myTimer)
{
double x = joystick.GetJoystickPosition().X; //取得搖桿的X軸資料,型別為double
double y = joystick.GetJoystickPosition().Y; //取得搖桿的Y軸資料,型別為double
string Sx = x.ToString(); //將搖桿X軸資料轉為字串
string Sy = y.ToString(); //將搖桿Y軸資料轉為字串
Debug.Print("(x,y)");
Debug.Print(Sx); //在Debug欄位顯示搖桿X軸資料
Debug.Print(Sy); //在Debug欄位顯示搖桿X軸資料
}
}
}
STEP5 編譯並下載
完成程式編譯後,將組裝完畢的Gadgeteer套組連接上電腦,按下Debug鍵下載程式。
操作
灌入程式後,可以在Debug欄位看見即時的X、Y軸數值變化,我們可以看見X、Y軸的數值精密度高達小數點後16位,另外搖桿的X、Y初始位置並非很準確地在0.5這個數值。

延伸練習與挑戰
1. 結合LED模組,另用XY軸數值變化來調色
留言 💬 (0)
還沒有留言,來當第一個。