我是 Arduino 的新手,我在通过单击按钮使 arduino 板的内置 LED 以及连接到面包板的外部 LED 亮起时遇到了问题。当我运行它时,它什么也不做。它只在终端上连续打印 0。
这是我正在处理的代码:
// C++ code
int pushButton = 2;
void setup() {
Serial.begin(9600);
pinMode(pushButton, INPUT);
pinMode(13, OUTPUT);
}
void loop() {
int buttonState = digitalRead(pushButton);
if (buttonState == HIGH) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
Serial.println(buttonState);
delay(1000); // Delay the blink for a second
}
另外,我有一个问题,数字引脚 2 代表什么?
我们刚刚开始学习这个,我正在探索制作它的过程。我迷路了。我不知道问题出在哪里,是电路板和其他组件的结构还是代码本身。也许你可以帮我解决这个问题。这将是一个巨大的帮助。
答案 0 :(得分:1)
您的 Arduino UNO 内置 LED 位于引脚 13,因此您可以使用 LED_BUILTIN 常量引用它。
至于按钮,添加内部 PULLUP 会更好(您可以在许多帖子中阅读)。
还要注意 buttonState 使用 bool 而不是 int,我认为更合适。
int pushButton = 2;
void setup() {
Serial.begin(9600);
pinMode(pushButton, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
bool buttonState = digitalRead(pushButton);
if (buttonState == LOW) {
digitalWrite(LED_BUILTIN, HIGH);
} else {
digitalWrite(LED_BUILTIN, LOW);
}
Serial.println(buttonState);
delay(1000); // Delay the blink for a second
}