/*
* 點亮所有的LED燈
*/
const int LEDs[]={10,A4,A3,A2,A1,A0,3,5,6,9} ;
void setup() {
// put your setup code here, to run once:
for(int i=0;i<10;i++)
pinMode(LEDs[i],OUTPUT) ;
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<10;i++) {
digitalWrite(LEDs[i],HIGH) ;
delay(500);
}
}


/*
* LED模組使用
*/
const int LEDs[]={3,4,5,6,7,8,9,10,11,12} ;
int j = 0 ;
/* 由左至右一次只亮一顆燈 */
void oneLedLeft(void) {
turnLedOff() ;
digitalWrite(LEDs[j],HIGH) ;
delay(500);
j++ ;
if(j==10)
j=0;
}
/* 由右至左一次只亮一顆燈 */
void oneLedRight(void) {
turnLedOff() ;
digitalWrite(LEDs[j],HIGH);
delay(500) ;
j--;
if(j<0)
j=9 ;
}
/* 由右自左點亮LED燈 */
void ledRight(void) {
for(int i=0;i<10;i++) {
digitalWrite(LEDs[i],HIGH);
delay(100) ;
}
for(int i=0;i<10;i++) {
digitalWrite(LEDs[i],LOW);
delay(100) ;
}
}
/* 關閉所有的LED燈 */
void turnLedOff(void) {
for(int i=0;i<10;i++)
digitalWrite(LEDs[i],LOW) ;
}
/*
* 電位計函數
* 取得可變電阻的值,並將數值0~1023轉換成0~10,點亮LED
*/
void potentioMeter(void){
int val=0,val2=0;
val = analogRead(A0) ;
turnLedOff() ;
val2 = map(val,0,1023,0,10) ;
for(int i=0;i<val2;i++)
digitalWrite(LEDs[i],HIGH) ;
delay(500) ;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600) ;
for(int i=0;i<10;i++)
pinMode(LEDs[i],OUTPUT) ;
pinMode(A0,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
// 呼叫下列任一個函式
// potentioMeter(); //電位計函數
// oneLedLeft() ; /* 由左至右一次只亮一顆燈 */
// oneLedRight() ;/* 由右至左一次只亮一顆燈 */
// ledRight() ; /* 由右自左點亮LED燈 */
}