【发布时间】:2014-01-31 21:55:51
【问题描述】:
我去年写了一段代码,当时运行良好。但是,这次加载相同的代码时,我得到了相反的输出。也就是说,当 Digital Pin 设置为 HIGH 时,它返回 LOW,反之亦然。
digitalWrite(led, HIGH) //PROBLEM: Should turn ON the LED but insted it turns OFF
我尝试了 BLINK 示例,在这种情况下,输出似乎也反转了。
代码如下:
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(5000); // wait for a second
}
根据代码,我的 LED 应该打开 1 秒钟,然后关闭 5 秒钟,然后再打开。但是,我得到的输出完全相反,即 LED 亮 5 秒,灭 1 秒。 我需要有关如何解决此问题的帮助。
我的主要代码是基于 arduino 与 android 的接口。我一直在努力通过蓝牙解决 android-arduino 连接的问题,我去年确实做到了,但现在遇到了这个问题。 我在三个不同的 arduino uno 板上试过这个,用不同的传感器试过,但 HIGH-LOW 似乎颠倒了。
【问题讨论】:
-
你确定你的二极管接法和去年没有什么不同。换句话说,您可以用输出引脚驱动 LED 的高端。或者你可能会在输出引脚上用低电平将 LED 下沉。
-
没有。连接与之前相同。 LED 的高压侧固定到 +3.3V,另一侧固定到数字引脚号。 13. 我无法找出大量连接的问题,所以我决定在单个 LED 上试一试,在那里我知道数字输出似乎已损坏(反转)。另外,我已经在三个不同的板上进行了尝试。同样的问题。
-
它似乎按预期工作。正如我们中的一些人所逃避的那样,您已经确认您正在低端驱动 LED 的阴极 (-)。当数字输出为低电平或零时,它将点亮 LED。
标签: android bluetooth arduino arduino-ide digital-logic