【发布时间】:2021-04-14 21:49:51
【问题描述】:
您好,这是我在 Tinkercad 中的代码。我为带 LED 的条形图创建了模式。两个 LED(黄色和橙色)无法正常工作。
我的代码如下:
int sensorValue = 0;
int outputValue = 0;
void setup()
{
pinMode(A0, INPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void loop()
{
sensorValue = analogRead(A0);
outputValue = map(sensorValue, 0, 1023, 0, 100);
if (outputValue > 11) {
digitalWrite(3, HIGH);
} else {
digitalWrite(3, LOW);
}
if (outputValue > 51) {
digitalWrite(2, HIGH);
} else {
digitalWrite(2, LOW);
}
if (outputValue > 91) {
digitalWrite(1, HIGH);
} else {
digitalWrite(1, LOW);
}
delay(2);
}
【问题讨论】:
-
这是硬件问题而不是软件问题,因此属于electronics.stackexchange.com,但是您只是省略了将两个 LED 的阴极连接到 GND - 仅连接了红色阴极。
-
请注意,Arduino 草图被编译为 C++,因此严格来说 C 标签是不正确的。但在这种情况下,这是一个迂腐的观点。此外,几乎所有 Arduino 示例都积极强化了不良做法;在
loop()中声明sensorValue和outputValuestatic而不是使它们不必要地全球化 - embedded.com/a-pox-on-globals
标签: c arduino io adc tinkercad