|

【CAVEDU講堂】Wio Terminal 小技巧:中斷與 LCD 折線圖

   
作者:CAVEDU 教育團隊

Wio Terminal 自帶的LCD螢幕讓我們檢視資料更容易了。藉由將數值顯示在螢幕上比單純使用Serial monitor更方便,也能在沒有電腦的時候使用。但螢幕的大小有限,因此需要有翻頁功能,此時就需要使用中斷(Interrupt),這也是開發 Arduino 這類 MCU 程式時的重要技巧。

使用中斷(Interrupt)的好處是程式會直接停下當下的動作,優先執行中斷事件所指定的程式碼,這與 "delay()" 不同,且可以避免程式執行到一半時按下按鈕沒有反應。

底下是使用兩種方式時的簡單流程圖:

Wio Terminal可使用五向開關以及上面的ABC三個按鈕觸發中斷。

注意:由於五向開關和按鈕A的中斷連接腳位是一樣的,同時宣告會導致兩個都無法使用,只能擇一宣告

以下是中斷的宣告以及使用方式:

 //設定為上拉或下拉電阻

pinMode(WIO_5S_UP, INPUT_PULLUP);

//開啟觸發腳位

//button_handler_up 代表要執行的函式名稱

attachInterrupt(digitalPinToInterrupt(WIO_5S_UP), button_handler_up, FALLING);

//觸發後的執行動作

void button_handler_up() {

Serial.println("button Up");

delay(100);

mode = 1;

}

上述程式碼中,WIO_5S_UP 指的是 Wio Terminal 五向開關的向上按鈕,此外還有 "WIO_5S_DOWN" , "WIO_5S_LEFT" ,"WIO_5S_RIGHT" 和 "WIO_5S_PRESS2" 等同一個按鈕的不同事件。

另外還有三個按鈕可用:"WIO_KEY_A" ,"WIO_KEY_B" 與 "WIO_KEY_C",如下圖:

本文為會員限定文章

立即加入會員! 全站文章無限看~

                               

已經是會員? 按此登入

只需不到短短一分鐘...

輸入您的信箱與ID註冊即可享有一切福利!

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

CAVEDU 教育團隊

Author: CAVEDU 教育團隊

CAVEDU 教育團隊是由一群對教育充滿熱情的大孩子所組成的機器人科學教育團隊。致力推動國內機器人教育。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *