扫描二维码,快速下载本应用说明文档(免费)
大小:0.36KB
价格:0.00元
更新日期:2016-06-18
开发者:小R科技
双轴XY摇杆模块
-
-
- 双轴XY摇杆模块
-
Arduino
- 2016-06-18
-
【双轴XY摇杆模块】 应用介绍
Arduino-双轴XY摇杆模块
实验概述
通过本节实验能够充分了解双轴摇杆的原理,并将此模块应用到实际,比如说小车摇杆控制和飞行器的摇杆控制。
实验原理
本公司生产的 PS2 游戏双轴摇杆传感器模块由采用原装优质金属 PS2 摇杆电位器制作,具有(X,Y)2 轴模拟输出,(Z)1 路按钮数字输出。配合 Arduino 传感器扩展板可以制作遥控器等互动作品。另外本产品为了让客户更加方便地配合 arduino 扩展板等标准接口,在设计上把 X,Y,Z 轴的电路都单独引出,用户可以使用 3 引脚的 ARDUINO 专用线真接插到扩展板上进行使用。很是方便。
它就像一个在游戏控制台中操纵杆,你可以控制输入这个操纵杆模块的 x、y、z 的值以及在特定的值下实现某种功能,它可以被视为一个按钮和电位计的组合。数据 类型的 x,y 维为模拟输入信号而 z 维是数字输入信号,因此,x 和 y 端口连接到模拟 插脚传感器端,而 z 端口连接到数字端口。
实验步骤
在介绍如何使用前,我们先来看下它的工作原理吧,那样我们也知道它里面到底是怎么回事,这对我们对它的使用很有帮助,下面有一个功能示意图,我们一起来看看
现在大家应该一目了然了吧,其实它就是一电位器嘛,x、y 维的数据输出就是模拟端口读出的电压值,是不是有点意外。当然这上面没有画出 z 维的数据输出,其实它更简单,我们知道 z 维只输出 0 和 1,那么就通过一按键就能实现的吧。现在就应了我们上面说的一句话,它就是电位器和按键的组合体(说句实话,如果你对它不了解刚看到那句话是不是有点云里雾里呢?)。
看完上图相信大家都知道如何在 Arduino 下使用它了吧,x、y 维我们接到两个模拟端口去读它们的值,而 z 维我们则接到数字口,这样就行了,在加上电源和地,这样就好了。。。。
连线接法:摇杆模块GND接arduino电源板GND,+5v接5v,VRx接模拟口A0,VRy接模拟口A1,SW接数字口2。
代码解析
相信大家仔细看了上面的原理图就会说了,其实我自己也可以动手做个哟,只是长得可能没有那么好看,控制起来不是那么顺当而已,嗯,是的,仿造原理,自己准备两电位器和一按键完全可以的呀,这个就留给大家完成吧,下面有测试代码,
大家可以拿去试试。。。
int JoyStick_X = A0; //x int
int JoyStick_Y = A1; //y int
int JoyStick_Z = 2; //key void
void setup()
{
pinMode(JoyStick_X, INPUT);
pinMode(JoyStick_Y, INPUT);
pinMode(JoyStick_Z, INPUT);
Serial.begin(9600); // 9600 bps
}
void loop()
{
int x,y,z;
x=analogRead(JoyStick_X);
y=analogRead(JoyStick_Y);
z=digitalRead(JoyStick_Z);
Serial.print(x ,DEC);
Serial.print(",");
Serial.print(y ,DEC);
Serial.print(",");
Serial.println(z ,DEC);
delay(1000);
}
实验现象
上面可以看到当没有按下摇杆z轴时z的值一直是0,后面按下后z变成了1,并且此时我们推动了摇杆,x,y轴有了变化!
实验扩展
利用x,y轴数值变化可以判定摇杆是往那边推动的,从而可以达到摇杆控制的作用,用在小车上在合适不过了,大家可以自己扩展一下!