<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> 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指的是毫秒。為啥要用毫秒?用秒的話幾毫秒不要小數點寫死了?
        關閉窗口
        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮