FutureMaker
发表于 2014-1-24 17:08:21
不错哦:lol
Inner_Peace
发表于 2014-3-22 13:35:36
你好,我使用的用串口显示摇杆的值。摇杆用的三维控制杆
我参照楼主的代码,自己设计的代码如下:
int xpotPin = 0;//设置模拟口0为X的信号输入端口
int ypotPin = 1;//设置模拟口1为Y的信号输入端口
int zpotPin = 2;//设置模拟口2为Z的信号输入端口
int xval=0; //设置变量
int yval=0;
int zval=0;
void setup()
{
Serial.begin(9600);//9600bit/s
Serial.print("Ready");
//pinMode(xpotPin, INPUT);
}
void loop()
{
xval = analogRead(xpotPin); //xval变量为从0信号口读取到的数值
yval = analogRead(ypotPin); //yval变量为从1信号口读取到的数值
zval = analogRead(zpotPin); //bval变量为从2信号口读取到的数值
Serial.print("X="); //使屏幕显示文字X=
Serial.print(xval);
Serial.println(",");
Serial.print("Y="); //使屏幕显示文字Y=
Serial.print(yval);
Serial.println(",");
Serial.print("Z="); //使屏幕显示文字Y=
Serial.print(zval);
Serial.println(",");
delay(100); //100ms刷新一次
}
但是问题出来了:
1.我的摇杆没有动,串口显示的数据一直都在变
2.我重新设置I/O口,与上条结果一样。
3.我不插摇杆,数据TX灯还是在闪,数据不停地变。
弘毅
发表于 2014-3-23 11:12:22
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
誓言只是失言
发表于 2014-3-24 12:56:38
int L_X = 0; //x
int L_Y = 1; //y
int L_Z = 3; //key
int R_X =A3;
int R_Y =A2;
int R_Z =A1;
void setup()
{
pinMode(L_X, INPUT);
pinMode(L_Y, INPUT);
pinMode(L_Z, INPUT);
pinMode(R_X, INPUT);
pinMode(R_Y, INPUT);
pinMode(R_Z, INPUT);
Serial.begin(9600);
}
void loop()
{
int Lx,Ly,Lz,Rx,Ry,Rz;
Lx=analogRead(L_X);
Ly=analogRead(L_Y);
Lz=digitalRead(L_Z);
Rx=analogRead(R_X);
Ry=analogRead(R_Y);
Rz=digitalRead(R_Z);
Serial.print(Lx ,DEC);
Serial.print(",");
Serial.print(Ly ,DEC);
Serial.print(",");
Serial.println(Lz ,DEC);
Serial.print(Rx ,DEC);
Serial.print(",");
Serial.print(Ry ,DEC);
Serial.print(",");
Serial.println(Rz ,DEC);
delay(100);
}
誓言只是失言
发表于 2014-3-24 13:09:25
弘毅 发表于 2014-3-23 11:12 static/image/common/back.gif
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
想问问弘毅老前辈, 为什么摇杆的vcc和GND连接串口(电脑)的数值和连接电池的数值不一样
543352664
发表于 2014-4-7 16:17:07
弘毅 发表于 2014-3-23 11:12 static/image/common/back.gif
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
那么用软件滤波,怎么更改代码?
赫焱
发表于 2014-7-2 21:47:38
弘毅 发表于 2014-3-23 11:12 static/image/common/back.gif
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
楼主您好,同17楼一样,我也是用Arduino连接了三维摇杆,但需要将摇杆的动作隐射到PC中的一个软件(c#开发)中的变量值来表示,是不是在在串口通信中将上述程序的(X,Y,Z)的数值(电阻值)直接传到PC中,在程序里判断数值来代表摇杆的动作,比如X=0,即代表X一方向压到底,X=1024 ,即代表X这一相反方向压到底,请教一下楼主?谢谢
赫焱
发表于 2014-7-2 21:52:00
Inner_Peace 发表于 2014-3-22 13:35 static/image/common/back.gif
你好,我使用的用串口显示摇杆的值。摇杆用的三维控制杆
请教一下,如果使用的是四维控制杆,多了个旋转按钮应该怎么连接板子了,谢谢
枯木叶
发表于 2014-7-12 14:44:21
我想问一下,摇杆摆动,LCD上XY方向不能从0到1023,可能原因是什么
枯木叶
发表于 2014-7-15 08:51:48
誓言只是失言 发表于 2014-3-24 13:09 static/image/common/back.gif
想问问弘毅老前辈, 为什么摇杆的vcc和GND连接串口(电脑)的数值和连接电池的数值不一样
用什么滤波呢,能不能给一下代码让我学习一下啊
疏雨梧桐
发表于 2014-7-29 14:07:11
哈哈 原来输出是这样的啊 !太感谢你了!!!
ourutopia
发表于 2014-10-18 22:50:59
如果不用10k的电位器呢
qxh_168
发表于 2014-11-5 17:05:30
老师您好,我现在正在做一款两轮驱动智能小车,要求要用摇杆来控制小车前进后退转弯,具体怎么控制不是太懂,能指点一下吗?我的qq:310430345。
qxh_168
发表于 2014-11-5 17:06:33
mjgzdnw 发表于 2011-9-5 09:53 static/image/common/back.gif
不错不错,偶测试过用摇杆控制两个舵机,原理是一样,有机会,大家多交流。
老师您好,我现在正在做一款两轮驱动智能小车,要求要用摇杆来控制小车前进后退转弯,具体怎么控制不是太懂,能指点一下吗?我的qq:310430345。
49741933o
发表于 2014-12-28 13:41:23
弘毅大哥是否知道有那种非自动复位的摇杆吗?知道的话,麻烦给我个链接。