這次,我們藉由一個類似霹靂燈的小專案來實現數位輸出控制的模型
Jason Chin 2019/9/23
這個範例是學習利用數位輸出 High / Low 控制 Output 端的 LED 明滅,排成一排的10顆 LED 燈中來回的循序亮滅,像 Jason 小時看電視影集”李麥克”的霹靂車的燈一樣
在這個練習中,可以學到陣列的應用,流程的控制,對數位 port(digital port) 的控制等等
硬體需求
- Arduino 電路板
- LED 發光二極體*10
- 220 ohm 電阻
- 連接電線
- 麵包板
LED 長腳端(正電端) 連接220 ohms 電阻後,電阻另一端再連到 Pin 9 輸出端
2016-07-14 Perak-00
程式碼
/* Filename:Perak_Light
Date:2016/7/14
Design By Jason Ching
*/
int i=2;
const int ledrun[10]={2,3,4,5,6,7,8,9,10,11}; //led port
void setup(void){
for(int i=0;i<10;i++) {
pinMode(ledrun[i],OUTPUT);
digitalWrite(ledrun[i],HIGH);
}
}
void loop(void){
for (i=0;i<=9;i++) {
digitalWrite(ledrun[i],LOW);
delay(60);
if ( (i>=0) && (i<10) ) {
digitalWrite(ledrun[i-1],HIGH);
}
}
delay(60);
digitalWrite(ledrun[9],HIGH);
for (i=10;i>=0;i–)
{
digitalWrite(ledrun[i],LOW);
delay(60);
if ( (i<=10) && (i>=0)){
digitalWrite(ledrun[i+1],HIGH);
}
}
delay(60);
digitalWrite(ledrun[0],HIGH);
delay(1000); //跑一輪後讓第一個LED燈暫停一下
}
相片