欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> Arduino >> 瀏覽文章

Arduino學習-LED跑馬燈

作者:快樂的堯   來源:快樂的堯   點擊數:  更新時間:2014年07月31日   【字體:

如果要制作LED跑馬燈的話,需要:

(1)  10個LED燈(顏色隨便)
(2)  面包板及連接線若干根(10根連接LED,一根連接5v)
(3)  1KΩ電阻1個(因為每次只亮一個燈,所以一個電阻就夠了,一段連接5V電源正極,一端連接所有LED的正極,書上的例子沒好好思考過這個問題,給每個LED串聯了一個電阻)
 
 
開始寫程序啦:
 
byte ledPin[ ] = {2, 3, 4, 5, 7, 8, 9, 10, 11};     //以LED引腳創建數組
int ledDelay(250);    //變換燈之間的延時,你愛多少寫多少(毫秒)
int dir = 1;
int currentLED = 0;
unsigned long changeTime;
void setup() {
    for (int x=0; x<9; x++)    //設置所有引腳為輸出模式
    {
      pinMode(ledPin[x], OUTPUT);
    }
    changeTime = millis();
}
void loop()  
{       
  if((millis() - changeTime) > ledDelay)    //如果過了ledDelay毫秒,執行以下程序
  {
    changeLED();
    changeTime = millis();
  }
}
 
void changeLED() {  
  for (int x=0; x<9; x++) {   //關閉所有燈
    digitalWrite(ledPin[x], HIGH);
  }
digitalWrite(ledPin[currentLED], LOW);    //開一個燈
currentLED+=dir;
if (currentLED == 8) {dir = -1;}
if (currentLED == 0) {dir = 1;}     //讓燈輪流亮,到底換方向
}
 
 
結果如下
 
這里,函數millis()描述返回Arduino開發板從運行當前程序開始的毫秒數,是一個無符號長整數。不要以為一直數得下去,數到4294967296毫秒就歸零繼續計數。可4294967296毫秒是什么概念呢?4294967296毫秒-->420萬秒多-->7萬多分鐘-->1千多小時-->約49天多。而millis指的是毫秒。為啥要用毫秒?用秒的話幾毫秒不要小數點寫死了?
關閉窗口