不错哦:lol
你好,我使用的用串口显示摇杆的值。摇杆用的三维控制杆
我参照楼主的代码,自己设计的代码如下:
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灯还是在闪,数据不停地变。
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
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-23 11:12 static/image/common/back.gif
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
想问问弘毅老前辈, 为什么摇杆的vcc和GND连接串口(电脑)的数值和连接电池的数值不一样
弘毅 发表于 2014-3-23 11:12 static/image/common/back.gif
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
那么用软件滤波,怎么更改代码?
弘毅 发表于 2014-3-23 11:12 static/image/common/back.gif
很正常。你这个摇杆的电位器不太好,会飘,所以数值会在小范围内变化,这种情况需要做滤波。过滤小幅波动。
楼主您好,同17楼一样,我也是用Arduino连接了三维摇杆,但需要将摇杆的动作隐射到PC中的一个软件(c#开发)中的变量值来表示,是不是在在串口通信中将上述程序的(X,Y,Z)的数值(电阻值)直接传到PC中,在程序里判断数值来代表摇杆的动作,比如X=0,即代表X一方向压到底,X=1024 ,即代表X这一相反方向压到底,请教一下楼主?谢谢
Inner_Peace 发表于 2014-3-22 13:35 static/image/common/back.gif
你好,我使用的用串口显示摇杆的值。摇杆用的三维控制杆
请教一下,如果使用的是四维控制杆,多了个旋转按钮应该怎么连接板子了,谢谢
我想问一下,摇杆摆动,LCD上XY方向不能从0到1023,可能原因是什么
誓言只是失言 发表于 2014-3-24 13:09 static/image/common/back.gif
想问问弘毅老前辈, 为什么摇杆的vcc和GND连接串口(电脑)的数值和连接电池的数值不一样
用什么滤波呢,能不能给一下代码让我学习一下啊
哈哈 原来输出是这样的啊 !太感谢你了!!!
如果不用10k的电位器呢
老师您好,我现在正在做一款两轮驱动智能小车,要求要用摇杆来控制小车前进后退转弯,具体怎么控制不是太懂,能指点一下吗?我的qq:310430345。
mjgzdnw 发表于 2011-9-5 09:53 static/image/common/back.gif
不错不错,偶测试过用摇杆控制两个舵机,原理是一样,有机会,大家多交流。
老师您好,我现在正在做一款两轮驱动智能小车,要求要用摇杆来控制小车前进后退转弯,具体怎么控制不是太懂,能指点一下吗?我的qq:310430345。
弘毅大哥是否知道有那种非自动复位的摇杆吗?知道的话,麻烦给我个链接。