前段時間俺從淘寶那里掏到了一個PS2搖桿模塊(就是游戲手柄里的搖桿),挺有意思的,以后可以控制一些小東東,嘿嘿。
PS2搖桿 游戲搖桿模塊 2.54mm標(biāo)準(zhǔn)插針接口引出。
十字搖桿為一個雙向的10K電阻器,隨著搖桿方向不同,抽頭的阻值隨著變化。本模塊只是使用5V供電,原始狀態(tài)下X,Y讀出電壓為2.5V左右,當(dāng)隨箭頭方向按下,讀出電壓值隨著增加,最大到5V;箭頭相反方向按下,讀出電壓值減少,最小為0V。
測試前我在arduino板上面的pin12口接了一個led燈,當(dāng)按下?lián)u桿的時候,led燈就亮起來達(dá)到按下的效果。
int JoyStick_X = 0; //定義PS2搖桿的X軸,ANALOG IN的Pin0
int JoyStick_Y = 1 //定義PS2搖桿的Y軸,ANALOG IN的Pin1
int JoyStick_Z = 3; //定義PS2搖桿的Z軸,是按下時觸發(fā)LED燈亮起的條件,接在DIGITAL區(qū)域的Pin3
int ledPin = 12; //定義LED等的接口,接在DIGITAL區(qū)域的Pin12
int val; //定義數(shù)字變量val
void setup()
{
pinMode(JoyStick_Z, INPUT); //定義PS2的Z軸為輸入,按下時觸發(fā)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);
}
}
//按下?lián)u桿的時候LED燈就亮起,void loop一下的代碼都是測試x、y、z軸的值,當(dāng)然,按下Z軸的時候值等于0