eagleflydotnet 发表于 2013-5-14 15:13:40

我想问一下这是怎么回事,是板子问题吗?


我想问一下这是怎么回事,是板子问题吗?

我是一个新手,所以我就简单做了下测试程序

有一个开关,一头连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 15:55:54

本帖最后由 zcbzjx 于 2013-5-14 19:00 编辑

你测试下,接地是不是都是0 接3v3是不是都是700多,接vcc是不是都是1023,如果这些都没问题,就是正常的,你没有按下这个管脚没接东西,会波动的,不过我测试一般会有一个值,既不是1023也不是0。另外小心别把端口烧了。

另外建议这种的话接个下拉电阻就行了:

p857211 发表于 2013-5-14 18:33:30

正常的喔! !因为机械式开关都会有弹跳的现象
只是一些小杂讯,可以透过防弹跳的程式忽略那些数值~
EX: http://arduino.cc/en/Tutorial/Debounce :)

万马奔腾 发表于 2013-5-14 22:37:30

就是下了个电阻就OK了,按钮没有按下时接地,按下时就是所接电压值
页: [1]
查看完整版本: 我想问一下这是怎么回事,是板子问题吗?