弘毅 发表于 2011-8-30 10:27:53

arduino学习笔记16 - PS2摇杆/游戏摇杆实验

PS2摇杆一般可以用来控制小车等等,其构造主要就是两个10K的电位器,还有一个按键开关。五个端口分别为VCC,X,Button,Y,GND。

先来看看实物图







老的液晶屏用来做其他东东了,所以换了一个,不同型号的1602液晶调节对比度的电阻阻值是不同的,所以这次我就换用了一个电位器,调节起来方便一些。

先上硬件连接图





把下面的代码下载到arduino控制器中#include <LiquidCrystal.h>   //调用arduino自带的LiquidCrystal库

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);//设置接口

int xpotPin = 0;//设置模拟口0为X的信号输入端口
int ypotPin = 1;//设置模拟口1为Y的信号输入端口            
int bpotPin = 2;//设置模拟口2为Button的信号输入端口

int xval=0;    //设置变量
int yval=0;
int bval=0;

void setup()
{
lcd.begin(16, 2);//初始化LCD
delay(1000); //延时1000ms
}

void loop ()                     
{

xval = analogRead(xpotPin);   //xval变量为从0信号口读取到的数值
yval = analogRead(ypotPin);   //yval变量为从1信号口读取到的数值
bval = analogRead(bpotPin);   //bval变量为从2信号口读取到的数值
lcd.clear(); //清屏
lcd.setCursor(0, 0) ; //设置光标位置为第一行第一个位置
lcd.print("X=");      //使屏幕显示文字X=
lcd.print(xval);
lcd.setCursor(7, 0) ; //设置光标位置为第一行第八个位置
lcd.print("Y=");      //使屏幕显示文字Y=
lcd.print(yval);

if (bval<500)
{
lcd.setCursor(0, 1) ;   //设置光标位置为第二行第一个位置
lcd.print("Button ON"); //使屏幕显示文字Button ON
}
else
{
lcd.setCursor(0, 1) ;
lcd.print("Button OFF"); //使屏幕显示文字Button OFF
}

delay(100);                     //延时0.1秒,这里也就是刷新速度。

}                         实验效果如下,推动摇杆时,电位器阻值发生变化,相应的电压也会发生变化,液晶屏上的数字就是每一个轴的电压数字输出。按下按键后,液晶上显示的按键状态会发生变化。

http://player.youku.com/player.php/sid/XMjk5ODEwNTcy/v.swf

弘毅 发表于 2012-11-28 20:11:21

普通人 发表于 2012-11-28 18:59 static/image/common/back.gif
我手上有一个摇杆,不过没焊在板子上,看了一下有8个引脚,怎么变成5个啊
就是想问一下怎么焊的

额。。。。你看看是不是有两个电位器一个电位器是3个引脚,一个按钮是两个引脚。算上共用引脚就刚好是5个。

mjgzdnw 发表于 2011-9-5 09:53:09

本帖最后由 mjgzdnw 于 2014-11-5 21:00 编辑

向弘毅大哥学习

wetnt 发表于 2012-7-1 14:44:31

这种模式,我试验中,数据跳动比较厉害,能有平滑模式算法?

普通人 发表于 2012-11-28 18:59:38

本帖最后由 普通人 于 2012-11-28 19:01 编辑

我手上有一个摇杆,不过没焊在板子上,看了一下有8个引脚,怎么变成5个啊:)
就是想问一下怎么焊的

zhujunsan 发表于 2012-11-28 20:45:50

求问哪里有摇杆不带电路板单卖的呀@@,找了一晚上淘宝了,不知道要用什么关键字搜,joystick,ps2,摇杆 都试过了:dizzy:
麻烦大家帮帮忙,谢谢~:)

普通人 发表于 2012-11-28 22:21:17

弘毅 发表于 2012-11-28 20:11 static/image/common/back.gif
额。。。。你看看是不是有两个电位器一个电位器是3个引脚,一个按钮是两个引脚。算上共用引脚就刚好是5个 ...

对啊,两个电位器,一个按钮=3+3+2=8

弘毅 发表于 2012-11-29 08:44:49

zhujunsan 发表于 2012-11-28 20:45 static/image/common/back.gif
求问哪里有摇杆不带电路板单卖的呀@@,找了一晚上淘宝了,不知道要用什么关键字搜,joystick,ps2,摇杆 都 ...

额。。。。介个貌似我也没见到过。。。

弘毅 发表于 2012-11-29 08:45:18

普通人 发表于 2012-11-28 22:21 static/image/common/back.gif
对啊,两个电位器,一个按钮=3+3+2=8

vcc gnd可以复用

zhujunsan 发表于 2012-12-1 12:10:21

弘毅 发表于 2012-11-29 08:44 static/image/common/back.gif
额。。。。介个貌似我也没见到过。。。

我记得我以前在淘宝见过,然后没存,这两天想买来着就找不到了。。。

普通人 发表于 2012-12-2 22:50:26

弘毅 发表于 2012-11-29 08:45 static/image/common/back.gif
vcc gnd可以复用

上面两个是按键开关,右边和下边是两个电位器的三个脚,不知道对不对,还有VCC和GND是不是是两边的两个点。可不可以帮我看一下错了没,帮我标一下脚呗。哦,还有就是一个摇杆吗,有没有别的什么元件。

玄冰之神 发表于 2013-4-18 10:13:36

:@:@:@这么好的帖子一年都没人来说一句话。。太扯淡了。我顶你个狒狒

圣骑士by 发表于 2013-7-11 13:52:26

zhujunsan 发表于 2012-11-28 20:45 static/image/common/back.gif
求问哪里有摇杆不带电路板单卖的呀@@,找了一晚上淘宝了,不知道要用什么关键字搜,joystick,ps2,摇杆 都 ...

关键字:摇杆电位器

zhujunsan 发表于 2013-7-21 21:33:46

圣骑士by 发表于 2013-7-11 13:52 static/image/common/back.gif
关键字:摇杆电位器

感谢!~~~~~~~~~~~~~~~~~

joe_1991 发表于 2013-9-3 15:24:58

楼主为什么这个按钮也是模拟量输入呢?还有那500是什么的值来的?
页: [1] 2 3
查看完整版本: arduino学习笔记16 - PS2摇杆/游戏摇杆实验