本文要告訴您如何讀取 mbed 開發板 (本範例使用 Delta NQ620) 的數位腳位狀態,並藉此控制 LED 亮滅。
作者/攝影 | 曾吉弘 |
時間 | 3~4小時 |
成本 | - Delta NQ620 開發板 = $1575
- SeeedStudio Grove Starter kit for mbed ($1600)
- 或按鈕元件搭配 10k ohm 電阻 ($20)
|
難度 | * * * * * |
材料表 | - 個人電腦 (作業系統可用 Windows, Mac OSX 與 Linux,本範例使用 Windows 7)
- Delta NQ620 開發板 (購買連結)
- SeeedStudio Grove Starter kit for mbed 中的 Base shield 擴充板與按鈕模組 (購買連結)
- 或按鈕元件搭配 10k ohm 電阻
|
本文將介紹如何讀取 mbed 的數位腳位狀態,您可使用 Grove starter kit 中的按鈕模組,直接將按鈕模組接上Base shield 擴充板,再疊上 NQ620 開發板即可。

當然這一包套件包價格不便宜,如果不用套件包,您可以用常見的按鈕元件搭配 10k ohm 電阻(解決按鈕的彈跳問題),下圖以 Arduino 開發板來示意:

實際用到的元件,把按鈕模組接到 Base shield 的 UART 接頭就好

▼ Seeed Studio base shield ▼

▼ button module ▼
NQ620的腳位示意:

程式碼相當簡單,使用 DigitalIn 把按鈕所連接的腳位設定為輸入之後。在主程式中,每 0.2 秒檢查一次按鈕是否被按下 (button.read() ) ,並以此控制 LED 亮滅。在此 0.2 秒是一個頻率參數,時間太短可能LED會亂閃,太長則可能操作起來鈍鈍的。您可以調整一下來找到適合的參數
#include "mbed.h" //匯入所需函式庫
DigitalOut led(LED4); // 宣告LED4之數位腳位為輸出
DigitalIn button(P13); // 宣告P13之數位腳位為輸入
int main()
{
while(1) {
led.write(button.read()); /* read the state of input pin P1_14 and write it to output port pin LED1*/
wait(0.2); //等候一段時間避免讀取過快
}
}
相關文章: