需要下載BlocklyDuino與吉哥積木,下載網址https://drive.google.com/drive/folders/1FizimTpWh6PhsD6qNA5MPQnHxEZ9vS5d
需要解壓縮軟體,建議使用7-Zip(使用Windows預設的解壓縮軟體可能會當機)
需要下載CP210x Windows Drivers ,並安裝置電腦(很重要)
解壓縮BlocklyDuino至C槽或D槽的根目錄(很重要)
解縮吉哥積木的更新檔案,其中兩個資料夾解壓縮後,覆蓋原本BlocklyDuino內的資料夾
初始化
燈條初始化需要先設定幾顆燈、訊號腳位、亮度
依據演算法規劃亮燈的方式
最後一定要"刷新"
重複職執行
左邊的程式碼的第一段是每一秒逐顆點亮。
全部點亮後,經過三秒全部改為白燈。
一秒後重新再來一次
注意事項:
初始化一開始使用For迴圈來點亮全部的燈珠時,經常會出現第一顆燈顏色不同,不是燈壞了,可以嘗試一顆一顆點亮,只要把"刷新"放到For回圈內就可以。
需要上網取得RTC的時間,所以需要連上網路,建議使用自己的手機熱點(熱點名稱請勿使用中文過或英文名字過長)
需要13-14個全域變數,範例使用了14個變數
燈條需要設定燈珠數量、訊號腳、亮度
有關變數設定說明:
將RTC取得其中小時與分鐘資料分別存入hr、mn
將mn的值除以5之後的商存入mn_t這個變數
分開判斷1.1.2.3.5這五個區塊,在小時,以及在分鐘的轉換過程中,哪幾個區塊被使用到,小時與分鐘個用了4個變數,一共8個
小時:hr1、hr2、hr3、hr5
分鐘:mn1、mn2、mn3、mn4
設定WS2812燈條的RGB三個數值,分別需要led_r、led_g、led_b三個變數
依序完成四個函數
L_Red 設定LED顏色為紅色
L_Green 設定LED顏色為綠色
L_Blue 設定LED顏色為藍色
L_White 設定LED顏色為白色
原作者使用RGB三原色,代表數字為1.2.3.5的四個區塊當中,
若僅有小時這個變數有採用該區塊,就為紅色
若僅有分鐘這個變數有採用該區塊,就為綠色
若小時與分鐘同時有採用該區塊,就為藍色
其中費氏數列的兩個1,分別給小時與分鐘使用
左圖的積木數字是12.6.4.2.2的燈條,本次使用的是2.2.4.6.12,所以必須跟下面的文字內容相同。
led1U:為兩個代表數字1的區塊中,上方的區塊,只給小時的變數使用。
因為有兩顆燈珠,所以索引值為0到1
led1D:為兩個代表數字1的區塊中,上方的區塊,只給分鐘的變數使用
因為有兩顆燈珠,所以索引值為2到3
led2:為代表數字2的區塊中,上方的區塊,提供給小時跟分鐘的變數同時使用。
因為有四顆燈珠,所以索引值為4到7
led3:為代表數字3的區塊中,上方的區塊,提供給小時跟分鐘的變數同時使用。
因為有四顆燈珠,所以索引值為8到13
led5:為代表數字5的區塊中,上方的區塊,提供給小時跟分鐘的變數同時使用。
因為有四顆燈珠,所以索引值為14到25
分別而且依序將hr目前取得的值與5.3.2.1去做比較判斷,若有使用這個數字的區塊,就把變數設為1。
分別而且依序將mn目前取得的值與5.3.2.1去做比較判斷,若有使用這個數字的區塊,就把變數設為1。
為什麼分鐘部分還特別用mn_t這個變數才儲存值,這就是另一個故事了
特別注意,積木的順序不能錯,一定是要先設定顏色,才點亮燈條
請依序完成兩個變數的比對:採用如果、否則如果、否則如果、否則的積木
h5與mn5
h3與mn3
h2與mn2
h1與mn1單獨判斷:採用如果、否則的積木
每一次完成一個程序,進入新的程序前都必須要將8個變數歸零,否則會造成顏色錯誤
請依照程序的順序把個函數放進去,因為積木程式轉換為文字程式碼時,也是逐行執行,發生的事件順序不能錯誤。