按鈕控制

因為smart上使用的是上拉開關,所以寫程式的版本可能得換到較新版本:https://blockly.webduino.io/

4-1用smart上的按鈕來點亮三色共陰LED燈

變數

這個章節,我們會大量用到變數跟數學的運算

關於變數可參考這裡:https://zh.wikipedia.org/wiki/%E8%AE%8A%E6%95%B8#%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8%E4%B8%8A

簡單的說,電腦一開機就會開始啟動各項程式,每一樣程式都包含各式各樣的變數,每一個變數都會佔用電腦的資源,如果有愛打電動的小朋友,喜歡玩大型的遊戲或是玩3D引擎的遊戲,很快就會把電腦的記憶體耗盡,就會看到類似這樣的圖片,當然這種情形比較容易發生在老電腦玩新遊戲時 ,目前市售電腦記憶體大概都在4G以上,不太可能發生這種情形。

4-2利用點擊燈炮判斷配合按鈕開關三色共陰燈

4-3利用邏輯變數判斷配合按鈕開關三色共陰燈

現實在寫程式時,不可能還有一個點擊燈炮讓工程師來判斷燈的狀態目前是開的還是關的,所以實務上會利用變數來判斷目前燈的狀態,本節作業重點如下:

1.設定一個新變數叫「開關狀態」。

2.如果開關狀態為真,代表燈目前是開的。

3.如果開關狀態為否,代表置目前是關的。

按一下就+1

上面的程式出現了一個和一般數學不一樣的方塊

這個方塊的意思是,在電腦的記憶體切出一塊空間,空間被命名為按幾次,按幾次這個空間被放入一個數字0,每按一次按鈕,便會將按幾次這個空間裡的數字取出來+1後再放回按幾次的空間中讓電腦使用。(這樣說會不會很複雜…=_=)

4-4利用變數及按鈕切換LED燈三種顏色

題目:

1.按一下按鈕,三色燈亮黃色

2.按第二下按鈕,三色燈亮綠色

3.按第三下按鈕,三色燈亮紅色

在實務上,寫程式時常常利用餘數來當做各式各樣不同狀態的判斷,例如題目希望有三種狀態,那我們就會將變數除以3,並利用除法將所有的數字分成三種狀態,例如:

0÷3=0...0(餘數為0,亮黃色)

1÷3=0...1(餘數為1,亮綠色)

2÷3=0...2(餘數為2,亮紅色)

3÷3=1...0(餘數為0,亮黃色)

4÷3=1...1(餘數為1,亮綠色)

5÷3=1...2(餘數為2,亮紅色)

6÷3=0...0(餘數為0,亮黃色)

7÷3=0...1(餘數為1,亮綠色)

8÷3=0...2(餘數為2,亮紅色)

9÷3=0...0(餘數為0,亮黃色)

以此類推,我們只需要做每按一次按鈕就把被除數+1, 就可以呈現出三種狀態