RGB燈 - Set led to... Block 燈控制
控制RBG燈以什麼顏色亮度「開啟 / 關閉」,它本身並沒有維持的秒數,只是「亮著一下」。
Shine和Set led to分別何在?
看了這個definition,相信大家都很困擾,到底shine和這個set led to有什麼分別,為什麼它們的output看起來並沒有分別?
- 首先,set led to並不需要設定秒數,它只是簡單地「亮一下」而已;shine就是「維持幾秒」。
- 其次,我們在RGB燈 - Shine Block 亮燈指出當我們想永久長亮時,我們會使用將Forever Block 無限set led to,不會使用shine。原因是如果使用set led to...forever,燈便會一直不斷地開著;如果你使用shine的話燈會在持維特定秒數後關掉再重開新開著,再維持特定的秒數...。(你可以自己試一下)
- 然而,這個並不是兩者的最大分別,它們真正的差異是set led to其實是讓2個output同時運作時使用的。
我們可以讓2個output同時運作嗎(例如同時開著兩燈)?
答案是可以的,其實答案是2個或以上,取決於你插上了多少個output。我們在後面的篇章會有更詳細的指引。
接下來,我們會用Set led to block讓2個output同時運作。這裡用了2個RGB燈,如果你沒有的話可以在例子的部份再跟著做,只要看圖片即可。
我們首先以Shine來測試,記得我們要設定一個為led1,另一個為led2。(注:當你插上2個一樣的output時,相關blocks便會跳出例如led1、motor2這樣的選項)
請留意左邊的小點,它代表著編程現在運行到哪一個step。
可以很清楚地看到如果我們使用Shine的話,編程將會step by step地運作。
那麼使用set的話,會有什麼分別?
設定基本上是一模一樣的,因此我們直接看結果吧。
很清楚地看到兩個RGB燈是同時亮著的,到了這裡相信大家應該可以清楚知道它們的分別。
你會發現左方的綠點會不停跳動。
例子:
請做一個開燈同時發聲的編程。
你可以首先用shine做一次編程,然後再用set led to做一次,你很容易便會發現它們的差異。
在你做的過程中相信會發現如果你想同時執行的話,一定要將Set led放在上方。
為什麼呢?這是因為我們的編程是有並行次序之分的。
如果你首先放play sound的話,並不會同時執行,這部份在[重要]Output Blocks「並行」的規則中有更加詳盡的解釋,但建議大家先學習關於摩打的部份再細閱會更佳。