工程筆記本 / Arduino嵌入式開發板

Arduino嵌入式開發板

[Gadgeteer]搖桿模組X、Y軸數值變化讀取

CAVEDU 阿吉 - 雜工📅 2013-02-06👁 25

      這一回我們要玩的是搖桿模組(joystick module)。Gadgeteer的搖桿模組有XY兩軸的可動度,以及一個下壓的按鈕。接下來向您介紹如何讀取搖桿模組的XY軸數值,並用最簡單的方式──Debug.Print來呈現資料:

搖桿模組XY軸位置之資料型別為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  讀取搖桿模組XY軸位置資料,並將其顯示在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欄位看見即時的XY軸數值變化,我們可以看見XY軸的數值精密度高達小數點後16位,另外搖桿的XY初始位置並非很準確地在0.5這個數值。

 

 

延伸練習與挑戰

1.      結合LED模組,另用XY軸數值變化來調色

相關文章 📎

留言 💬 (0)

還沒有留言,來當第一個。