在這個 Section,我們將利用 Button (D2)進行流程控制:如果...執行...(if/elif/else) 條件判斷句學習,常見的條件判斷句有:
- if...(then)
- if...else
- if...elif...else
為什麼會有 elif 這種關鍵字呢?那是因為我們在每個 if 分支裏只能有一個 if 和一個 else,所以如果你需要判斷好幾次,你就需要很多 elif 語句。只要你有需要,寫多少個 elif 都是可以的。在這一個 Section ,我們暫時不會練習到 elif 的程序,會在後面的Section 練習時再進行說明。
Example 01. 利用if...(then),讓 Button 控制 LED 燈(1)
說明:
這個 Example 延續變數的利用,同時加入運算式的概念(下一個 Section 說明)。 利用 if...(then) 迴圈,判斷 Button (D2) 是否被按下(執行),如果Button(D2)被執行,就執行 LED 燈(D10)亮燈,然後關燈。
範例:
- 如圖一,在「程式開始」的迴圈中,先放入邏輯積木【如果(if)...執行(then)】的積木模組;第二步驟設定變數積木,於設定中宣告 i (=Button 電位) 的初始電位為「低」電位,並賦予 i 表示 Button (D2)腳位。
- 利用運算式判斷,如果 Button (D2) 為高電位(Button被按下),執行 LED (D10) 燈亮 5 秒,然後關閉 LED 燈。
- 範例檔:請選擇匯入 XML_Button_IF01.xml ,可開啟本 Example 的範例,或利用 Arduino IDE 開啟 IDE_Button_IF01.ino 執行程式的結果。
Example 02. 利用if...(then),讓 Button 控制 LED 燈(2)
說明:
- 這個 Example 是簡化 Example 01,利用 if...(then) 迴圈,判斷 Button (D2) 是否被按下(執行),如果Button(D2)被執行,就執行LED燈(D10)亮燈。
- 學習這個範例時,可以直接將本範例與 Example 01、Example 03 的範例進行參照,觀察範例執行的差異。
範例:
- 如圖二,在「程式開始」的迴圈中,先放入邏輯積木【如果(if)...執行(then)】的積木模組;第二步驟設定變數積木,於設定中宣告 i (=Button 電位) 的初始電位為「低」電位,並賦予 i 表示 Button (D2)腳位。
- 利用邏輯運算式判斷,如果 Button (D2) 為高電位(Button被按下),執行讓 LED (D10) 燈亮。
- 範例檔:請選擇匯入 XML_Button_IF02.xml ,可開啟本 Example 的範例,或利用 Arduino IDE 開啟 IDE_Button_IF02.ino 執行程式的結果。
Example 03. 利用if...else,讓 Button 控制 LED 燈
說明:
- 這個 Example 主要延續 Example 02,利用 if...else 迴圈,判斷 Button (D2) 是否被按下(執行),如果Button(D2)被執行,就執行LED燈(D10)亮燈,如果如果 Button(D2) 沒有被執行,就不執行LED燈(D10)。
- 學習這個範例時,可以直接將本範例與 Example 02、Example 01 的範例進行參照,觀察範例執行的差異。
範例:
- 如圖三,在「程式開始」的迴圈中,先放入邏輯積木【如果(if)...執行(then)】的積木模組;第二步驟在【如果(if)...執行(then)】的積木中點選藍色齒輪樣式的「設定」符號,在「如果」迴圈中堆疊入「否則」積木,【如果(if)...執行(then)】就會變成【如果(if)...執行(then)...否則(else)】,這就是【IF...ELSE】迴圈。
- 接下來設定變數積木,於設定中宣告 i (=Button 電位) 的初始電位為「低」電位,並賦予 i 表示 Button (D2)腳位。
- 利用邏輯運算式判斷,如果 Button (D2) 為高電位(Button被按下),執行讓 LED (D10) 燈亮。
- 範例檔:請選擇匯入 XML_Button_ELSE03.xml ,可開啟本 Example 的範例,或利用 Arduino IDE 開啟 IDE_Button_ELSE03.ino 執行程式的結果。
沒有留言:
張貼留言