想要实现的功能:
能够控制一个三色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灯会按照你按键的顺序闪烁不同的颜色。
我承认很烂……不过我暂时也没别的办法了。