前段时间俺从淘宝那里掏到了一个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);
}
}