首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RGB,光敏电阻器,如果-否则环路?

RGB,光敏电阻器,如果-否则环路?
EN

Stack Overflow用户
提问于 2015-09-28 02:30:08
回答 1查看 360关注 0票数 0

我的程序有点麻烦。我的电路主要由一个arduino UNO,两个RGB LED和一个光敏电阻器组成。我当前的代码(用c++编程)操作硬件:当房间里的灯亮着时,两个LED在一个循环中每秒交替一次。当灯关了,或者光敏电阻器没有感应到任何光时,两个发光二极管都会打开,并保持红色。我的代码:

代码语言:javascript
复制
int prPin = A0;

void setup()
{
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(prPin,INPUT);
  Serial.begin(9600);
}

void loop()
{
  int prVal = analogRead(prPin);
  Serial.write(prVal);
    if(prVal>450)
    {
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      digitalWrite(7,HIGH);
      digitalWrite(8,LOW);
      digitalWrite(9,HIGH);
      digitalWrite(10,HIGH);
      delay(1000);
      digitalWrite(5,LOW);
      digitalWrite(6,HIGH);
      digitalWrite(7,HIGH);
      digitalWrite(8,HIGH);
      digitalWrite(9,HIGH);
      digitalWrite(10,HIGH);
      delay(1000);
    }
    else
    {
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      digitalWrite(7,LOW);
      digitalWrite(8,HIGH);
      digitalWrite(9,HIGH);
      digitalWrite(10,LOW);
      delay(10);
    }
}

我遇到的问题是,当灯关闭时,LED将不会按照“否则”语句/循环运行,直到它通过"if“语句/循环为止。如有任何建议或答案,敬请见谅。我是一本开放的书,所以我会拿走你们给我的任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-28 02:44:51

我建议你读一下下面是

使用millis而不是delay更加强大和高效!它也将很容易解决您的问题,因为循环将不再被延迟,因此不会延迟从一种状态切换到另一种状态。

编辑

这里是关于millis方法的更多细节。

我建议你从Arduino SE的你问题的副本那里得到答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32814928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档