前段時間俺從淘寶那里掏到了一個PS2搖桿模塊(就是游戲手柄里的搖桿),挺有意思的,以后可以控制一些小東東,嘿嘿。
PS2搖桿 游戲搖桿模塊 2.54mm標準插針接口引出。
十字搖桿為一個雙向的10K電阻器,隨著搖桿方向不同,抽頭的阻值隨著變化。本模塊只是使用5V供電,原始狀態下X,Y讀出電壓為2.5V左右,當隨箭頭方向按下,讀出電壓值隨著增加,最大到5V;箭頭相反方向按下,讀出電壓值減少,最小為0V。
測試前我在arduino板上面的pin12口接了一個led燈,當按下搖桿的時候,led燈就亮起來達到按下的效果。
int JoyStick_X = 0; //定義PS2搖桿的X軸,ANALOG IN的Pin0
int JoyStick_Y = 1 //定義PS2搖桿的Y軸,ANALOG IN的Pin1
int JoyStick_Z = 3; //定義PS2搖桿的Z軸,是按下時觸發LED燈亮起的條件,接在DIGITAL區域的Pin3
int ledPin = 12; //定義LED等的接口,接在DIGITAL區域的Pin12
int val; //定義數字變量val
void setup()
{
pinMode(JoyStick_Z, INPUT); //定義PS2的Z軸為輸入,按下時觸發LED燈亮起的條件
pinMode(ledPin,OUTPUT); //定義ledPin接口為輸出
Serial.begin(115200);
}
void loop()
{
int x,y,z;
x=analogRead(JoyStick_X);
y=analogRead(JoyStick_Y);
z=digitalRead(JoyStick_Z);
Serial.print(x ,DEC);
Serial.print(",");
Serial.print(y ,DEC);
Serial.print(",");
Serial.println(z ,DEC);
delay(100);
val=digitalRead(JoyStick_Z);
if(val==LOW)
{
digitalWrite(ledPin,HIGH);
}
else
{
digitalWrite(ledPin,LOW);
}
}