[mbed入門教學#2]Delta DFBM-NQ620 開發板 – 按鈕控制LED,使用 Grove Starter kit for mbed
本文要告訴您如何讀取 mbed 開發板 (本範例使用 Delta NQ620) 的數位腳位狀態,並藉此控制 LED 亮滅。
本文將介紹如何讀取 mbed 的數位腳位狀態,您可使用 Grove starter kit 中的按鈕模組,直接將按鈕模組接上Base shield 擴充板,再疊上 NQ620 開發板即可。
當然這一包套件包價格不便宜,如果不用套件包,您可以用常見的按鈕元件搭配 10k ohm 電阻(解決按鈕的彈跳問題),下圖以 Arduino 開發板來示意:
實際用到的元件,把按鈕模組接到 Base shield 的 UART 接頭就好
NQ620的腳位示意:
程式碼相當簡單,使用 DigitalIn 把按鈕所連接的腳位設定為輸入之後。在主程式中,每 0.2 秒檢查一次按鈕是否被按下 (button.read() ) ,並以此控制 LED 亮滅。在此 0.2 秒是一個頻率參數,時間太短可能LED會亂閃,太長則可能操作起來鈍鈍的。您可以調整一下來找到適合的參數
[pastacode lang="java" manual="%23include%20%22mbed.h%22%20%20%2F%2F%E5%8C%AF%E5%85%A5%E6%89%80%E9%9C%80%E5%87%BD%E5%BC%8F%E5%BA%AB%0A%20%0ADigitalOut%20led(LED4)%3B%20%20%20%20%2F%2F%20%E5%AE%A3%E5%91%8ALED4%E4%B9%8B%E6%95%B8%E4%BD%8D%E8%85%B3%E4%BD%8D%E7%82%BA%E8%BC%B8%E5%87%BA%0ADigitalIn%20button(P13)%3B%20%2F%2F%20%E5%AE%A3%E5%91%8AP13%E4%B9%8B%E6%95%B8%E4%BD%8D%E8%85%B3%E4%BD%8D%E7%82%BA%E8%BC%B8%E5%85%A5%0A%20%0Aint%20main()%0A%7B%0A%20%20%20%20while(1)%20%7B%0A%20%20%20%20%20%20%20%20led.write(button.read())%3B%20%20%20%20%2F*%20read%20the%20state%20of%20input%20%20pin%20P1_14%20and%20write%20it%20to%20output%20port%20pin%20LED1*%2F%0A%20%20%20%20%20%20%20%20wait(0.2)%3B%20%20%20%20%2F%2F%E7%AD%89%E5%80%99%E4%B8%80%E6%AE%B5%E6%99%82%E9%96%93%E9%81%BF%E5%85%8D%E8%AE%80%E5%8F%96%E9%81%8E%E5%BF%AB%0A%20%20%20%20%7D%0A%7D" message="" highlight="" provider="manual"/]
相關文章:
| 作者/攝影 | 曾吉弘 |
| 時間 | 3~4小時 |
| 成本 |
|
| 難度 | * * * * * |
| 材料表 |
|
當然這一包套件包價格不便宜,如果不用套件包,您可以用常見的按鈕元件搭配 10k ohm 電阻(解決按鈕的彈跳問題),下圖以 Arduino 開發板來示意:
實際用到的元件,把按鈕模組接到 Base shield 的 UART 接頭就好
▼ Seeed Studio base shield ▼
NQ620的腳位示意:
程式碼相當簡單,使用 DigitalIn 把按鈕所連接的腳位設定為輸入之後。在主程式中,每 0.2 秒檢查一次按鈕是否被按下 (button.read() ) ,並以此控制 LED 亮滅。在此 0.2 秒是一個頻率參數,時間太短可能LED會亂閃,太長則可能操作起來鈍鈍的。您可以調整一下來找到適合的參數
[pastacode lang="java" manual="%23include%20%22mbed.h%22%20%20%2F%2F%E5%8C%AF%E5%85%A5%E6%89%80%E9%9C%80%E5%87%BD%E5%BC%8F%E5%BA%AB%0A%20%0ADigitalOut%20led(LED4)%3B%20%20%20%20%2F%2F%20%E5%AE%A3%E5%91%8ALED4%E4%B9%8B%E6%95%B8%E4%BD%8D%E8%85%B3%E4%BD%8D%E7%82%BA%E8%BC%B8%E5%87%BA%0ADigitalIn%20button(P13)%3B%20%2F%2F%20%E5%AE%A3%E5%91%8AP13%E4%B9%8B%E6%95%B8%E4%BD%8D%E8%85%B3%E4%BD%8D%E7%82%BA%E8%BC%B8%E5%85%A5%0A%20%0Aint%20main()%0A%7B%0A%20%20%20%20while(1)%20%7B%0A%20%20%20%20%20%20%20%20led.write(button.read())%3B%20%20%20%20%2F*%20read%20the%20state%20of%20input%20%20pin%20P1_14%20and%20write%20it%20to%20output%20port%20pin%20LED1*%2F%0A%20%20%20%20%20%20%20%20wait(0.2)%3B%20%20%20%20%2F%2F%E7%AD%89%E5%80%99%E4%B8%80%E6%AE%B5%E6%99%82%E9%96%93%E9%81%BF%E5%85%8D%E8%AE%80%E5%8F%96%E9%81%8E%E5%BF%AB%0A%20%20%20%20%7D%0A%7D" message="" highlight="" provider="manual"/]
相關文章:

留言 💬 (0)
還沒有留言,來當第一個。