我正在使用Arduino Uno微控制器进行一系列初学者练习。 (但是,通用的,因为这是我提供的。)
我正在运行的程序,根据瞬时开关的状态,在发送1&0和0到串行输出之间交替,已将引脚2设置为开关的输入。但。在接线的同时,我不小心将跳线连接到引脚3,并且发现当按下按钮时它仍然大部分发送了1#s。一些0,但大多数是1。
最初我想也许只是董事会有点狡猾,但我想我实验了一下。当按下按钮时,插入引脚3而不是引脚2仍然相当一致地发送1,尽管1的流量比在引脚2中的流量少一点。在引脚2中它完全是比较一致。所以我尝试了针脚4,但是那个针脚根本没有响应。
我是否正确地假设程序的读数似乎反应稍慢,我将电缆从我编程为输入的引脚移开?任何人都可以帮助我理解为什么会这样吗?
我可能很明显我是电子新手。 :)
我上传到董事会的计划如下:
// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 2;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// make the pushbutton's pin an input:
pinMode(pushButton, INPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input pin:
int buttonState = digitalRead(pushButton);
// print out the state of the button:
Serial.println(buttonState);
delay(1); // delay in between reads for stability
}
答案 0 :(得分:3)
浮针很容易产生噪音。如果您实际上没有将任何东西连接到引脚2,您将会读到噪音。连接到引脚2的任何导线(板上的均匀连接)将像天线一样起作用并拾取噪声。在这种情况下,您应该始终使用物理连接的引脚号。
答案 1 :(得分:1)
使输入引脚保持开路会使微控制器读取一个浮点值,该值在0到1之间摆动。另外,在将开关连接到任何引脚时,请确保连接一些下拉电阻以使输入为0。 这些对于许多电子设备来说很常见,在设计自己的电路时要适当注意。