Arduino

Arduino控制LED灯闪亮顺序(个人感觉代码很渣)

想要实现的功能:

 

能够控制一个三色LED灯颜色亮起来的顺序

好像很简单,巧了,我也这么觉得。

然而,搞了半天发现自己的水平真的不行,勉勉强强把功能实现了:

int pinbtn[3]={26,30,34};
int pinled[3]={53,51,49};
int recbtn=22;
int data[3]={};
int rec[3]={};
void setup() { // put your setup code here, to run once: //pinMode(pin1,INPUT); //pinMode(pin2,INPUT); //pinMode(pin3,INPUT); for (int i=0;i<=2;i++){ pinMode(pinbtn[i],INPUT); pinMode(pinled[i],OUTPUT); } Serial.begin(9600); pinMode(recbtn,INPUT); pinMode(13,OUTPUT);
}
void loop() { // put your main code here, to run repeatedly: if(digitalRead(recbtn)){ digitalWrite(13,HIGH); for(int i=0;i<=2;i++){ Serial.print("The "); Serial.print(i+1); Serial.println(" LED: "); digitalWrite(13,LOW); delay(50); digitalWrite(13,HIGH); delay(1000); for(int j=0;j<=2;j++){ if(digitalRead(pinbtn[j])){ rec[i]=j+1; } } } Serial.println("."); delay(500); digitalWrite(13,LOW); Serial.println("Time to see the MAGIC!!!!"); delay(2000); } for(int i=0;i<=2;i++){ Serial.print(rec[i]); } Serial.println(","); for(int i = 0;i<=2;i++){ digitalWrite(pinled[rec[i]-1],HIGH); delay(200); digitalWrite(pinled[rec[i]-1],LOW); delay(200); }
}

使用方法:

1.通电后,三色LED灯处于长灭状态,

2.按下recbtn对应的开关,此时13号针脚旁边的板载LED灯亮起,

3.立即按下pinbtn中的一个按钮,等待13号LED灯闪烁,

4.#13LED闪烁一次,立即按下pinbtn中的另一个按钮,等待#13LED闪烁,

5.#13LED再闪烁一次,立即按下pinbtn中的另一个按钮,直到#13LED熄灭,

6.三色LED灯会按照你按键的顺序闪烁不同的颜色。

 

我承认很烂……不过我暂时也没别的办法了。

(0)

本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!

热评文章

评论:

1 条评论,访客:1 条,博主:0 条
  1. xx
    xx发布于: 

    试试Fastled这个库!

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.