Arduino基礎(chǔ)入門篇06——流動的LED燈

上一篇介紹了Arduino數(shù)字I/O引腳及相關(guān)函數(shù),并點亮了板載LED燈。本篇將使用面包板搭建電路,多個LED燈配合顯示流動效果。

1. 實驗材料

  • Uno R3開發(fā)板
  • 配套USB數(shù)據(jù)線
  • 面包板及配套連接線
  • 6個LED燈
  • 6個220Ω電阻

2. 實驗步驟

  1. 根據(jù)原理圖搭建電路

    直插式LED燈有兩個引腳,長引腳為正極,短引腳為負(fù)極。LED燈點亮就是電流從正極流入,從負(fù)極流出。6個LED燈的負(fù)極連接到開發(fā)板的GND引腳,正極分別連接220Ω限流電阻連接到開發(fā)板的數(shù)字I/O引腳。

    實驗原理圖如下圖所示:

    流水燈電路連接圖

    實物連接圖如下圖所示:

    實物連接圖
  1. 新建sketch,拷貝如下代碼替換自動生成的代碼并進(jìn)行保存。

     /*
      * Led_Flash
      * 依次點亮1~6號LED燈,依次熄滅6~1號LED燈,如此循環(huán)
      */
     
     int delayTime = 200;
     int ledPin;
     
     void setup()
     {
       for (ledPin = 1; ledPin < 7; ledPin++) //依次設(shè)置1~6個數(shù)字引腳為輸出模式
       { 
         pinMode(ledPin, OUTPUT); //設(shè)置第ledPin個引腳為輸出模式
       }
     }
    
     void loop()
     {
       for (ledPin = 1; ledPin < 7; ledPin++) //每隔delayTime依次點亮1~6引腳相連的led燈
       {
         digitalWrite(ledPin, HIGH); //點亮ledPin引腳相連的led燈
         delay(delayTime);//延時delayTime
       }
    
       for (ledPin = 6; ledPin > 0; ledPin--) //每隔delayTime依次熄滅6~1引腳相連的led燈
       {
         digitalWrite(ledPin, LOW); //熄滅ledPin引腳相連的led燈
         delay(delayTime);//延時delayTime
       }
     }
    
  2. 連接開發(fā)板,設(shè)置好對應(yīng)端口號和開發(fā)板類型,進(jìn)行程序下載。

    程序下載

3. 實驗現(xiàn)象

LED燈依次點亮,依次熄滅,達(dá)到流動效果。

流水燈效果

4. 程序分析

在setup部分通過for循環(huán)將1 ~ 6號引腳設(shè)置為輸出模式。在loop部分,通過兩個for循環(huán)依次點亮1 ~ 6號LED燈,依次熄滅6 ~ 1號LED燈,使用的依然是digitalWrite函數(shù)。

延時時間定義為200,你可以改變它來控制流動速度。還可以通過修改程序中引腳的輸出順序來嘗試更多不同的點亮LED的方式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容