Sensor – ME Joystick

概述:

搖桿模組包含一個十字搖桿,可以用在控制小車的移動方向及互動視頻遊戲等方面。本模組介面是黑色色標,是類比介面,需要連接到主機板上帶有黑色標識介面。

 

功能特性:

  • 模組的白色區域是與金屬梁接觸的參考區域
  • 平衡環將搖桿位移分為水準移動(X)與豎直移動(Y)
  • 類比採集電位器電壓來判斷搖桿的推動位置
  • 具有反接保護,電源反接不會損壞IC
  • 支援Arduino IDE程式設計, 並且提供運行庫來簡化程式設計
  • 支援mBlock圖形化程式設計,適合全年齡用戶
  • 使用RJ25介面連線方便
  • 模組化安裝,相容樂高系列
  • 配有VCC、GND、X、Y接頭支援絕大多數Arduino系列主控板

 

技術規格

  • 工作電壓:5V DC
  • 信號模式:2軸模擬輸出
  • 十字搖杆:由兩個電位器及平衡環組成
  • 模組尺寸:52 x 24 x 32 mm (長x寬x高)

 

引腳定義

搖桿模組有四個針腳的接頭,每個針腳的功能如下表

序號

引腳

功能

1GND地線
2VCC電源線
3XX軸模擬量輸出
4YY軸模擬量輸出

表 1 4-Pin 接頭功能表

接線方式

  • RJ25連接

由於搖杆模組介面是黑色色標,當使用RJ25介面時,需要連接到主控板上帶有黑色色標的介面。以Makeblock Orion為例,可以連接到6,7,8號介面,如圖

1

圖 1 搖杆模組與 Makeblock Orion連接

  • 杜邦線連接

當使用杜邦線連接到Arduino Uno主機板時,模組X、Y引腳需要連接到 ANALOG(類比)口,如下圖所示:

9

圖 2  搖桿模組與 Arduino UNO 連接圖

注:接杜邦線時,模組上需要焊接排針。

程式設計指南

  • Arduino程式設計

如果使用Arduino程式設計,需要調用庫Makeblock-Library-master 來控制搖桿模組

本程式通過Arduino程式設計讀取搖杆XY軸位置資訊並輸出到串口顯示,週期為10ms。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
#include “MeOrion.h”
#include <Wire.h>
#include <SoftwareSerial.h>
MeJoystick joystick(PORT_6);
int x = 0;
int y = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
x = joystick.readX();
y = joystick.readY();
Serial.print(“Joystick X = “);
Serial.print(x);
Serial.print(“\t Joystick Y = “);
Serial.println(y);
delay(10);
}

搖杆模組函數功能清單

函數

功能

MeJoystick(uint8_t port)選定介面
int readX()讀取X-軸模擬輸出(範圍:0~980)
int readY()讀取Y-軸模擬輸出(範圍:0~980)

c28

串口顯示結果

我們可以看到x y 軸資料輸出範圍為 0~980。 當你鬆開joystick, 輸出數值將維持在478~479。 當搖桿按照要按模組上箭頭標識的方向移動時,數值將會變大。如果反向移動, 數值將會變小。

 

原理解析

搖杆模組包含一個十字搖杆,十字搖桿由兩個電位器及一個平衡環組成。當推動搖桿時,電位器阻值發生變化,相應的電壓也會發生變化,該模組使用5V電壓供電,原始狀態下X,Y讀出電壓為2.5V左右,當沿著X或Y箭頭方向按下,讀出電壓值隨著增加,最大加到5V;沿著箭頭相反方向按下,讀出電壓值減少,最小為0V。因此可通過類比採集電位器電壓來判斷搖桿的推動位置。