Arduino LED跑马灯效果

多个LED轮流点亮跑马灯

原理图 10个LED,轮流点亮

元件

  • arduino duemilanove: 1块
  • 面包板:1块
  • LED发光二极管:10个
  • 电阻:10个
  • 导线:若干

arduinoLED-ChasingEffect3.jpg arduinoLED-ChasingEffect.jpg

程序代码 需要用到数组,延时,循环

byte ledPin[]={4,5,6,7,8,9,10,11,12,13};//为LEDpin建立数组
int ledDelay(65);//每次变换之间到延时
int direction=1;
int currentLED=0;
unsigned long changeTime;

void setup(){
    for(int x=0;x<10;x++){//设置所有的pin为输出
        pinMode(ledPin[x],OUTPUT);}
        changeTime=millis();
}
void loop(){
    if((millis()-changeTime)>ledDelay){
//如果从上次改变开始已经过了ledDelay ms
        changeLED();
        changeTime=millis();
    }
}
void changeLED(){
    for(int x=0;x<10;x++){//关掉所有的LED
        digitalWrite(ledPin[x],LOW);
    }
    digitalWrite(ledPin[currentLED],HIGH);//打开当前LED
    currentLED+=direction;
    if(currentLED==9){direction=-1;}
    if(currentLED==0){direction=1;}
}