查看: 1167|回复: 0

Arduino 入门教程 实验二十一 PS2摇杆实验

[复制链接]

22

主题

22

帖子

169

积分

超级版主

Rank: 8Rank: 8

积分
169
发表于 2015-7-1 14:12:03 | 显示全部楼层 |阅读模式
1、PS2摇杆介绍
PS2摇杆一般可以用来控制小车等等,其构造主要就是两个10K的电位器,还有一个按键开关。五个端口分别为VCC,X,Button,Y,GND。
2、实验器件
XY双轴传感器:1块
1602 LCD:1块
电位计:1个
面包板:1块
面包板跳线:1 扎
3、接线图



4、参考源程序
#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秒,这里也就是刷新速度。
}
5、实验结果
推动摇杆时,电位器阻值发生变化,相应的电压也会发生变化,液晶屏上的数字就是每一个轴的电压数字输出。按下按键后,液晶上显示的按键状态会发生变化。
6、相关产品链接
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5449108244.9.WN4ONl&id=20865103869
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5449108244.15.RyWQcH&id=40605086645
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5449108244.18.LO0Cdk&id=40701941132






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表