- 選擇任意顏色 LED 6 個,做一個流水燈的效果,6 盞燈從左至右依次點亮,然後再 從右至左依次熄滅。
int led13 = 13 ;
int led12 = 12 ;
int led11 = 11 ;
int led10 = 10 ;
int led9 = 9 ;
int led8 = 8 ;
void setup() {
pinMode(led13, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led8, OUTPUT);
}
void loop() {
digitalWrite(led13, HIGH);
delay(400);
digitalWrite(led12, HIGH);
delay(400);
digitalWrite(led11, HIGH);
delay(400);
digitalWrite(led10, HIGH);
delay(400);
digitalWrite(led9, HIGH);
delay(400);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led8, LOW);
delay(400);
digitalWrite(led9, LOW);
delay(400);
digitalWrite(led10, LOW);
delay(400);
digitalWrite(led11, LOW);
delay(400);
digitalWrite(led12, LOW);
delay(400);
digitalWrite(led13, LOW);
delay(1000);
}
- 如果上面那個你已經完成了的話,可以嘗試一下,先從中間的燈開始亮起,依次向 兩邊擴開。下圖是個變換過程的示意圖。
int led13 = 13 ;
int led12 = 12 ;
int led11 = 11 ;
int led10 = 10 ;
int led9 = 9 ;
int led8 = 8 ;
void setup() {
pinMode(led13, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led8, OUTPUT);
}
void loop() {
digitalWrite(led11, HIGH);
digitalWrite(led10, HIGH);
delay(400);
digitalWrite(led12, HIGH);
digitalWrite(led9, HIGH);
delay(400);
digitalWrite(led13, HIGH);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led13, LOW);
digitalWrite(led8, LOW);
delay(400);
digitalWrite(led12, LOW);
digitalWrite(led9, LOW);
delay(400);
digitalWrite(led11, LOW);
digitalWrite(led10, LOW);
delay(1000);
}
- 再比如,從左至右,依次亮起 1 個,2 個,3 個......
int led13 = 13 ;
int led12 = 12 ;
int led11 = 11 ;
int led10 = 10 ;
int led9 = 9 ;
int led8 = 8 ;
void setup() {
pinMode(led13, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led8, OUTPUT);
}
void loop() {
digitalWrite(led13, HIGH);
delay(400);
digitalWrite(led12, HIGH);
delay(400);
digitalWrite(led11, HIGH);
delay(400);
digitalWrite(led10, HIGH);
delay(400);
digitalWrite(led9, HIGH);
delay(400);
digitalWrite(led8, HIGH);
delay(400);
digitalWrite(led13, LOW);
digitalWrite(led12, LOW);
digitalWrite(led11, LOW);
digitalWrite(led10, LOW);
digitalWrite(led9, LOW);
digitalWrite(led8, LOW);
}
- 再結合按鈕,用按鍵開關和 LED 互動。
int led13 = 13 ;
int button = 12;
void setup() {
pinMode(led13, OUTPUT);
pinMode(button, INPUT);
}
void loop(){
if(digitalRead(button) == HIGH){
digitalWrite(led13, HIGH);
delay(10000);
}else{
digitalWrite(led13, LOW);
}
}