我想问一下这是怎么回事,是板子问题吗?
我想问一下这是怎么回事,是板子问题吗?
我是一个新手,所以我就简单做了下测试程序
有一个开关,一头连5V,另一头连 A5 口。
下面是很简单的代码
int analogValue = 0;
int switchPIN=A5;
void setup() {
pinMode(switchPIN,INPUT);
Serial.begin(9600);
Serial.println("Hello,PL");
}
void loop() {
analogValue = analogRead(switchPIN);
Serial.println(analogValue);
}
当我按下开关时,没问题,会显示 1023
但当没有按下时,按理说应该都是0呀。
但我在窗口显示的是下面的数据
0
20
1023
0
0
0
16
1023
0
0
0
4
1023
428
0....
...
..
为什么是这样的数据呀,我没按开关,怎么会有1023,不是都应该是0吗.
本帖最后由 zcbzjx 于 2013-5-14 19:00 编辑
你测试下,接地是不是都是0 接3v3是不是都是700多,接vcc是不是都是1023,如果这些都没问题,就是正常的,你没有按下这个管脚没接东西,会波动的,不过我测试一般会有一个值,既不是1023也不是0。另外小心别把端口烧了。
另外建议这种的话接个下拉电阻就行了:
正常的喔! !因为机械式开关都会有弹跳的现象
只是一些小杂讯,可以透过防弹跳的程式忽略那些数值~
EX: http://arduino.cc/en/Tutorial/Debounce :) 就是下了个电阻就OK了,按钮没有按下时接地,按下时就是所接电压值
页:
[1]