繁体   English   中英

Tinkercad 电路:如何通过按钮使内置 LED 和 LED 亮起

[英]Tinkercad Circuit: How to Make the Built-in LED and LED light up through a push button

我是 Arduino 的新手,我在通过单击按钮使 arduino 板的内置 LED 以及连接到面包板的外部 LED 亮起时遇到了问题。 当我运行它时,它什么也不做。 它只在终端上连续打印 0。

这就是我的 arduino 的样子在此处输入图片说明

这是我正在处理的代码:

 // 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 表示什么?

我们刚刚开始学习这个,我正在探索制作它的过程。 我迷路了。 我不知道问题出在哪里,是电路板和其他组件的结构还是代码本身。 也许你可以帮我解决这个问题。 那将是一个巨大的帮助。

您的 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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM