0
功能改变状态:Arduino的按钮扳机不从低到高
当用户按下这个大圆顶按钮,Arduino的状态应该从“0” /低以关“1” /在Arduino的串行监视器的高。
问题:
当我触发这个大圆顶按钮,国家并没有从低到高的触发,但仍维持在低水平。
我已将连接的“Push To Make”端连接到数字引脚2,连接写入后为:BIG DOME PUSH BUTTON。
但是在这一点上,触发状态不起作用,请协助。
const int buttonPin = 2; //the number for the pushbutton pin (DIGITALPIN)
uint8_t btnCnt = 1;
bool outputState = false;
void setup() {
Serial.begin(9600);
//for Push button pin
pinMode(buttonPin, INPUT);
}
void loop() {
outputState |= digitalRead(buttonPin); // if pushButton is high, set outputState (low does nothing)
// Print the output
if (outputState) {
switch (btnCnt++) {
case 100:
--btnCnt;
outputState = false;
break;
}
Serial.println("1");
} else {
Serial.println("0");
btnCnt = 0;
}
delay(100);
}
代码'outputState | = digitalRead(buttonPin);'假定返回'HIGH'将等同于'true','LOW'等同于'false'。尝试用'outputState =(HIGH == digitalRead(buttonPin));'替换。 –
@ J.Piquard,仍然没有触发 – Luke
@Luke这是一个问题,它很容易调试硬件在您的处置..您可以开始在上述指令之后添加'Serial.println(outputState)',然后查看值在该变量内。 –