close
這次要處理的問題是:依照指定順序點亮LED燈
指定的順序如下圖顯示:由1號依序點亮到64號,在圖中可以看到不是按照常見的由左而右由上而下的順序,而是從左下開始左右反覆向上到左上為止。要達到這樣的需求可以用叢集(Cluster)或陣列(Array)來達成
因為考慮到這個程式以後可能會實際用到機器上,所以是用While Loop迴圈來做,這樣在機器故障時才有可能緊急停止程式
首先解說如何用叢集來寫這個程式:
首先面板放上64個LED元件,排列好之後放到叢集內,如下圖
這時叢集內的LED元件順序不一定會符合程式需求,所以需要改變LED元件在叢集內的順序,這時可以在叢集邊上按滑鼠右鍵,從跳出的選單中點選Reorder Controls In Cluster...這一項
這時叢集內的LED元件會顯示順序編號,如下圖:可以看出圖上順序是縱排
依需要的順序一一點選完成順序的重編,如下圖:按OK後就完成順序重編
程式部分反而比較簡單,只要1D陣列即可完成
特別要注意的是Array To Cluster這個元件,其中Cluster Size...這個屬性要從內定的9改成64,以配合叢集內的元件數量,否則會無法連線
完成的程式如下
接下來說明如何用陣列來寫這個程式:
首先是在面板用LED元件來創建一個8*8的陣列,如下圖
再來程式的部分比較複雜,基本的原則是正確算出每一個要點亮的LED元件的座標索引值
完成的程式如下
文章標籤
全站熱搜
留言列表