arduino教程系列16-PS2摇杆/游戏摇杆实验 arduino入门,arduino教程

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



先来看看实物图


IMGP0506_调整大小.JPG

2011-8-30 17:56 上传
(122.4 KB)




IMGP0510_调整大小.JPG

2011-8-30 17:56 上传
(133.44 KB)




IMGP0511_调整大小.JPG

2011-8-30 17:56 上传
(135.56 KB)





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



先上硬件连接图


Snap1.jpg

2011-8-30 17:56 上传
(167.37 KB)




IMGP0586_调整大小.JPG

2011-8-30 17:56 上传
(183.71 KB)





把下面的代码下载到arduino控制器中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秒,这里也就是刷新速度。
 
}


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

via - 极客工坊

标签: Arduino教程