Delay 延遲

Delay的作用是作為Behavior將Input的訊號根據一個預設的時間來延遲傳送出去。簡單而言,假如Delay的預設時間是2秒,當Input輸入訊號後就會延遲2秒才進行後續編程。

影片教學

所需用料 :

Button x1

RGB LED x1

Delay是無需連接的Behavior Block。可以在Sam Space中的Behavior欄目的Time類別中找到。

編程教學

1. 連接RGB LED和Button到Sam Space,把Button拉到介面上。

2. 到Behavior欄目的Time類別中找出Delay,並把它拉到介面上,連接在Button後面。

3. 打開Delay的設定,這裏有4個選項,分別是小時(Hours),分鐘(Minutes),秒(Seconds)和毫秒(Millieseconds)。Delay最少的數值是250毫秒,即是0.25秒。在這裏先把Delay設定成3秒。

4. 拉出RGB LED,連接在Delay後面。

5. 按一下Button,看看RGB LED是否在3秒後才亮起來。

6. 連續按3下Button,看看RGB LED是否在3秒後連續亮3下。

7. 長按Button,看看RGB LED的反應是否也延遲了3秒。

Delay小知識

Delay是個會可以將Input的的訊號延遲送到後續編程的Behavior,基本上只要是在Delay後面的編程都會受到影響。對於一些需要將Output在接收到Input後等一段時間才啟動的編程,Delay這個Function會非常有用。除此之外,Delay亦可以用來將一些Output通過時間關閉,例如在Buzzer前面加入Toggle,並將Toggle同時連到Delay,然後將Delay連回Toggle的前面,便可以做到當Toggle被觸發時會啟動Buzzer,並同時啟動Delay,在過了Delay所設定的時間後就可以關閉Toggle,令Buzzer關閉。

另外,Delay亦可以用到一些需要每隔一段時間紀錄數據或作出Output的Project上,例如要每隔8小時拍照紀錄生物的變化,便可將Delay設定為8小時,這樣每隔8小時便可觸發Camera紀錄一次。

大家可以多嘗試,熟習Delay的用法。