Arduino Can';t将LED连接到';低';

Arduino Can';t将LED连接到';低';,arduino,int,switch-statement,Arduino,Int,Switch Statement,如果LDR值低于500,我无法将随机LED设置为“低”。代码不读取案例中的if语句。它将一个LED设置为“高”,并读取光传感器的值,如果该值低于500,则LED必须变为“低”,然后另一个LED必须反复变为“高” int randNumber; int LDR1 = A1; int LDR2 = A2; int LDR3 = A3; int LDR4 = A4; int LDR5 = A5; int LS = 500; int LDRValue = 0; void setup() { Ser

如果LDR值低于500,我无法将随机LED设置为“低”。代码不读取案例中的if语句。它将一个LED设置为“高”,并读取光传感器的值,如果该值低于500,则LED必须变为“低”,然后另一个LED必须反复变为“高”

int randNumber;
int LDR1 = A1;
int LDR2 = A2;
int LDR3 = A3;
int LDR4 = A4;
int LDR5 = A5;
int LS = 500;
int LDRValue = 0;

void setup() {
  Serial.begin(9600);
  randNumber = random(1, 6);
}

void loop() {  
switch (randNumber) {
case 1:
    digitalWrite(2, HIGH);
    LDRValue = analogRead(LDR1);
    Serial.println(LDRValue);
    if (LDRValue < LS) {
      digitalWrite(2, LOW);
    }
    break;
case 2:
    digitalWrite(3, HIGH);
    LDRValue = analogRead(LDR2);
    Serial.println(LDRValue);
    if (LDRValue < LS) {
      digitalWrite(3, LOW);
    }
    break;
case 3:
    digitalWrite(4, HIGH);
    LDRValue = analogRead(LDR3);
    Serial.println(LDRValue);
    if (LDRValue < LS) {
      digitalWrite(4, LOW);
    }
    break;
case 4:
    digitalWrite(5, HIGH);
    LDRValue = analogRead(LDR4);
    Serial.println(LDRValue);
    if (LDRValue < LS) {
      digitalWrite(5, LOW);
    }
    break;
case 5:
    digitalWrite(6, HIGH);
    LDRValue = analogRead(LDR5);
    Serial.println(LDRValue);
    if (LDRValue < LS) {
      digitalWrite(6, LOW);
    }
    break;
}
}
int随机数;
int LDR1=A1;
int LDR2=A2;
int LDR3=A3;
int LDR4=A4;
int LDR5=A5;
int LS=500;
int-LDRValue=0;
无效设置(){
Serial.begin(9600);
随机数=随机数(1,6);
}
void loop(){
开关(随机数){
案例1:
数字写入(2,高);
LDR值=模拟读取(LDR1);
Serial.println(LDRValue);
if(LDRValue
重写您的
案例
陈述如下:

case 5:    
    LDRValue = analogRead(LDR5);
    Serial.println(LDRValue);
    if (LDRValue < LS) 
    {
        digitalWrite(6, LOW);
    }
    else
    {
        digitalWrite(6, HIGH);
    }
    break;
案例5:
LDR值=模拟读取(LDR5);
Serial.println(LDRValue);
if(LDRValue
您确定LDR值实际上低于500吗?(调试器,println输出)?也可以考虑将<代码>数字写(N,高)命令放进<代码> /<代码>块。是的,我使用PrimtLn,它在500以下,谢谢您的回复。我们想激活一个随机LED,如果该LED的LDR低于500,则该LED需要停用,另一个随机LED需要激活。如果这是您的规格,则您需要另一种方法:在外环路中,选择一个随机数,激活对应于该数字的LED,然后为该LED输入一个环路,观看它的LDR。一旦它第一次低于500,将其设置为低并退出内部循环。记住上次激活的LED,并生成更多随机数,直到生成的数字与上次不同。