大家好,我是凯迪。这是一篇关于arduino编程的文章,本文的目的是让大家了解如何利用简单的逻辑去控制LED的开关。
我曾看到网上的逻辑控制LED,利用两个bool对象,一个是按钮,假设读取到的值是“1”布尔a状态怎样,另一个布尔对象b是LED的开关然后用if使它们状态翻转过来,不过都是太复杂太绕了。
经过不断的思索,我想到一个简单的方法,就是假设一个按钮的状态是“1”时,布尔a转态不断的转变,就是按一下是真的,a=true,再按一下是假的,a=false。每按一次都会转变一次。通过b转态的转变去控制LED。代码也是非常的简单,好我们看代码。
int button = 2;
int buttonState;
int LED = 3;
bool a = false;
void setup() {
pinMode(button, INPUT);
pinMode(LED, OUTPUT);
}
void loop() {
buttonState = digitalRead(button);
if (buttonState == 1) {
a != a;
delay(200);
}
switch (a) {
case true:
digitalWrite(LED, HIGH);
break;
case false:
digitalWrite(LED, LOW);
break;
}
}