第五章 彩燈實驗(1、一個彩燈)

鄧小榮啟雅發表於2018-03-11

第五章 彩燈實驗(1、一個彩燈)

材料:彩色led燈,麵包板,(或杜邦線,鱷魚夾)
enter image description hereenter image description hereenter image description here
彩燈購買參考

1,點亮一個彩燈

enter image description here
管腳:
5V:電源正極
GND:電源負極,地
DI:輸入(控制) 接bit輸出埠,比如P1
DO:輸出(控制) 接下一個LED
你可以通過麵包板,或在管腳上焊接4個排針,再鱷魚夾或香蕉插接bit。
enter image description here

1.1 新增軟體包:

基本模組中,沒有LED,要在“高階”,“新增軟體包”,選“neopixel”:
enter image description here
enter image description here

1.2 定義一個LED燈:

enter image description here

拖出,放到一個變數中,放在開始,修改變數名為”led“,埠為P1:

enter image description here

1.3 點亮LED燈:

enter image description here
有十種顏色選擇:
enter image description here
小強:太少了,能不能更多?
從“neopixel”,“更多”中,拖入rgb模組:
enter image description here
可以顯示255*255*255=16581375種顏色。

1.4 LED燈閃爍:

enter image description here
小強:沒有閃爍,只有紅色!
有提示:
enter image description here
要加一個“show",”clear“才能起作用:
enter image description here

小明:沒那麼麻煩,這樣:
enter image description here

作業:設計一個十字路口交通燈。

1.5 變換顏色:

enter image description here

1.6 變換亮度:

直接輸入亮度:
enter image description here
注意:亮度必須放在顯示之前!

通過變數連續改變亮度:
enter image description here
小強:這個是慢慢變亮的,能不能慢慢變暗?
慢慢變暗就要亮度從255遞減,那我們先設bright=255,然後以每次-5:
enter image description here
小強:不對!沒變暗!
小明:每次迴圈,bright=255,後面的-5根本沒起作用,當然不會變暗。
怎麼辦?
小明:好辦:
enter image description here
聰明!

1.7 呼吸燈:

亮度要從0到255到0迴圈。
小強:把上面兩個程式拼到一起就好了!呃,不行,成了閃燈。

方案一: 增加一個變數add,當bright增加到255時,令add=-1,當bright減少到0時,add=1:
enter image description here
小強:沒變暗!一直亮!
忘了!所有變數初始值都為0,你可以切換到程式碼模式:
enter image description here
所以,亮度自然不會變。
在“當開機時”增加一條:
enter image description here

搞定。

方案二: 使用有限迴圈語句
知識點1: 有限迴圈語句

enter image description here

將索引改為bright:
enter image description here
切換到程式碼模式:

basic.forever(() => {
   for (let bright = 0; bright <= 4; bright++) {
                    }
  })

bright++意思是:bright==bright+1
上面程式的意思就是,bright從0到4,執行5次。

enter image description here

方案三: 使用函式
知識點2: 函式
enter image description here

enter image description here

函式取名為Liang(亮):

enter image description here

再建立一個函式An(暗),把變亮和變暗的程式拖進去:

enter image description here

再從“函式”模組中拖出“呼叫函式”:
enter image description here

完整程式:

enter image description here

函式,就是執行一個任務單位,可以重複呼叫,對程式的思路和簡潔,有重大意義!

相關文章