【问题标题】:My Arduino automatic LED 'nightlight' is not working我的 Arduino 自动 LED“夜灯”不工作
【发布时间】:2014-10-25 01:10:21
【问题描述】:

我有一个 Arduino Uno,我正在尝试编写一个程序,如果光敏电阻检测到光线不足,LED 就会亮起。这是我的代码。

int led = 2;
int phores = A4;
int val = 0;

void setup() {
 pinMode(led, OUTPUT);
 pinMode(phores, INPUT);
 Serial.begin(9600);
}

void loop() {
 val = analogRead(phores);
 if(val > 256) {
  digitalWrite(led, HIGH);
}

if(val < 256) {

digitalWrite(led, LOW);
}
Serial.println(val);
}

【问题讨论】:

  • ... 会发生什么?它会崩溃,还是没有给出预期的答案?您预计会发生什么,发生了什么?
  • 你的 println 的输出是什么?读数是否正确?

标签: arduino processing led arduino-ide arduino-uno


【解决方案1】:

您可能需要将第二个 if 块放在循环函数中。我很确定这应该可以解决问题。添加一个小的延迟也可能是避免在每次迭代时进行此检查的好主意。

【讨论】:

  • 我没有将第二个 if 语句放在 if 块中,并且添加延迟没有帮助。
  • 我的意思是 void 循环块,而不是 if 块。 :&
【解决方案2】:

我有一些我开始学习时使用的旧代码,这应该可以工作并且非常简单。

int sensePin = 0;
int ledPin = 9;

void setup(){
  analogReference(DEFAULT);
  pinMode(ledPin, OUTPUT);

}

void loop(){
  int val = analogRead(sensePin);
 if (val < 100) digitalWrite(ledPin, HIGH);
 else digitalWrite(ledPin, LOW);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多