8-2.圖形數字化應用

在本節中,我們利用前一節所提到的LED陣列,來與我們的圖形拼盤程式互動,

當我們輸入一串數字時,LED的陣列會自動反應亮燈。

接著我們介紹控制陣列燈號與scratch介面翻牌的內部變數的控制指令

我們對照上圖,

將橫列(標示為R+數字)取用R2~R6,記錄在列腳位清單裡

直行(標示為C+數字)取用C8~C12,記錄在行腳位清單裡

建立清單代表C8(行1)~C12(行5),

橫列就在其中橫向觀看的部分

而i行索引與j列索引就是用來告訴電腦,

現在是要哪一行哪一列的燈亮或熄滅的指標。

初始化燈號之後,

我們也要初始化五個清單,行1~行5

初始化有許多不一樣的寫法,

我們採用直接刪除再重建的方法,

如果你有其他寫法也可以取代使用

接著就是點燈的動作,

之前說過陣列LED的原理是利用人類的視覺錯覺

所以所謂的點燈包含了【點亮】與【熄滅】的動作在裡面

如左圖所示

主程式有個【無限循環迴圈】

迴圈裡針對每一行清單去偵測

從行1的第一個變數一直到第五個

所以每一讀取行清單的條件迴圈,

在j列索引>5之前,

會判斷行清單的變數是否為1

為1則點亮,為0則不動作

以上動作會從行1重複5次做到行5

原理上,如此撰寫程式應該可以達到視覺上亮燈的目的,但是因為Scratch透過仲介的程式WFduino傳遞訊號給Arduino的陣列LED有延遲,所以僅會看到依序亮燈的結果。