摇杆模块
目录
一、模块简介
二、工作原理
三、用法用例
模块简介
PS2 游戏摇杆模块可控制物体在二维空间运动,因此可以通过控制器编程,传感器扩展板插接,完成具有创意性遥控互动作品。其可以被视为一个按钮(Z轴)和电位计(X、Y 轴)的组合(如下图所示)。特设二路模拟输出和一路数字输出接口,输出值分别对应(X,Y)双轴偏移量,其类型为模拟量;按键表示用户是否在 Z 轴上按下,其类型为数字开关量。工作原理
十字摇杆为一个双向的 10K 电阻器,随着摇杆方向不同,抽头的阻值随着变化。本模块使用 5V 供电,原始状态下 X,Y 读出电压为 2.5V 左右,当随箭头方向按下,读出电压值随着增加,最大到 5V;箭头相反方向按下,读出电压值减少,最小为 0V。 引脚说明: VRx,VRy (X、Y 轴)为模拟输入信号,连接到模拟 IO 口 A0~A7。 VRx,VRy 的值:从 0 ~ 1023 分别代表 左~右,上~下。中间值为 512。SW (Z 轴)是数字输入信号,连接到数字端口,并启用上拉电阻避免电平不稳。SW 的值:1 代表未按下,0 代表按下。
用法示例
1
材料准备
面包板跳线Arduino Uno摇杆模块2
硬件连接图
3
示例代码
//在这里 VRx(x)连的是模拟端口 A0,VRy(y)连的是模拟端口 A1,SW(z)连接到了数字端口6int x,y,z;void setup()
{
pinMode(6, INPUT_PULLUP); //SW 引脚为输入上拉状态
Serial.begin(9600);//初始化串口,设定串口通信速率为 9600(波特)
}void loop()
{
x=analogRead(A0); //读取 X 方向数据
y=analogRead(A1); //读取 Y 方向数据
z=digitalRead(6);//读取 Z 方向按钮是否按下
Serial.print("X=");
Serial.print(x);
Serial.print("\tY=");
Serial.print(y);
Serial.print("\tZ=");
Serial.println(z);//将值传送至计算机,可在串口监视器上可看到 XYZ的值
delay(1000);//一秒后再测数据
}
现在,你就能够通过串口监视器看到你对遥感模块的操作数据啦。?
?
?
以上代码文件及使用的库可以到以下QQ群统一下载
机甲学院技术交流QQ群
931630584