PS2摇杆一般可以用来控制小车等等,其构造主要就是两个10K的电位器,还有一个按键开关。五个端口分别为VCC,X,Button,Y,GND。
先来看看实物图
2011-8-30 17:56 上传
(122.4 KB)
2011-8-30 17:56 上传
(133.44 KB)
2011-8-30 17:56 上传
(135.56 KB)
老的液晶屏用来做其他东东了,所以换了一个,不同型号的1602液晶调节对比度的电阻阻值是不同的,所以这次我就换用了一个电位器,调节起来方便一些。
先上硬件连接图
2011-8-30 17:56 上传
(167.37 KB)
2011-8-30 17:56 上传
(183.71 KB)
把下面的代码下载到arduino控制器中ARDUINO
#include //调用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秒,这里也就是刷新速度。
}
实验效果如下,推动摇杆时,电位器阻值发生变化,相应的电压也会发生变化,液晶屏上的数字就是每一个轴的电压数字输出。按下按键后,液晶上显示的按键状态会发生变化。
via - 极客工坊