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