| 快速學會microbit | ep05 microbit 按鈕 與 PIN 的應用

這集來講 microbit 按鈕 跟 PIN(接腳)功能, 相信大家看完這篇後, 應該就會有更深刻的體會!

一樣先打開micro:bit app 或連上 https://makecode.microbit.org/#


****快速跳轉****

PIN基本功能

PIN設定細項

PIN模擬電壓


micro:bit 的板子上提供兩個現成的按鈕A和 按鈕B, PIN腳上的應用比較廣泛,則是PIN0, PIN1, PIN2, 各位朋友可以先試試下面的簡單例子, 透過模擬器或下載到實體板的方式來進行練習.


PIN基本功能

microbit 按鈕 方塊的應用,是放在[輸入]功能欄內, 讓我們創造一個按鈕的方塊 並簡單的做出按下按鈕A或B, LED出現所設定的圖案.例子如下:

按一下按鈕A或按鈕B, 是不是會出現設定的圖案? 但還有發現什麼呢? 沒錯,這個function是在你壓下去後, 離開按鈕的那瞬間,才顯示設定的圖案的,這意味著一直按著按鈕,程式是沒有反應的,各位朋友要記得~


PIN設定細項

在來我們來試一下micro: bit 的PIN 功能, 有沒有人第一眼看的時候micro bit的PIN 只有三個? NO, 是這三支PIN 可以設定的功能較多啦!

OK , 我們先來認識一些電路板的PIN(接腳)通常可以是什麼功能?答案就是數位輸入+數位輸出+ 類比輸出+類比輸入 4種.

1.數位輸入是最常見的功能,就是可以讀取輸入訊號的HIGH或LOW,

2.數位輸出則是可以設定這支PIN為 HIGH 或LOW

3.類比輸入就是 轉換輸入的電壓值成電腦可讀取的值,讓我們可以知道這個電壓輸入約等於多大的程度

4.類比輸出則是將電腦數值變成實際的電壓值.

不懂!? 沒關係! 記得兩件事就好,數位輸入與輸出就是簡單的HIGH或 LOW, 類比輸入與輸出就是 電壓轉換, 我們看看下面的例子,  基本上按鈕或PIN很多功能都是放在引腳功能欄(要按下高級)內.

再來講講PIN1-PIN2的設定,剛剛是不是說到PIN可以設定4種機制, 點開高級選項,試著做出下面的例子

上面兩個是什麼意思呢? 其實就是把P0 設定為數位輸出, 值為low(0),第二個就是把P1設定為類比輸出, 電壓就是 1023 , 約等於3.3V左右, 這樣各位懂了嗎?至於有些朋友可能對數位比較有概念, 但類比訊號比較不清楚,

吉米哥趁這個時候,把它快速解釋一下, 數位輸入或輸出訊號基本要記得就是會有LOW與HIGH兩種訊號, 相對於真實電路板上的電壓,就是0 或 3.3V/5V等等, 至於HIGH是多少的電壓, 就看電路系統的設計啦!因為以軟體的觀點來說, 就是0 或 1上的邏輯判斷而已.

接下來講解類比訊號, 這裡我們不講太複雜的原理, 先從類比輸入開始, 當電路一旦有一個輸入電壓進來我們的系統(也就是連進micro:bit接腳)時, 我們要如何判斷電壓為多少呢? 如果我們已經知道自己的電壓多少, 最快的方法就是跟我們自己本身的電壓(或是參考電壓)比一下, 看一下比較大或比較下,當然這就得到比較粗糙的結果, 比如說 這個類比輸入電壓比1.5V大喔, 那在深入思考一下, 如果可以比較的參考電壓有10個等級呢?例如1.5V/1.6V/1.7V/1.8V/1.9V/2.0V等等,系統可能可以得到 輸入電壓在1.6V與1.7V之間, 是不是就精細多了呢? micro:bit 就是把0-3.3V 切成1024個參考等級, 結果是分別用0-1023來表示, 這樣一個類比電壓輸入, 很快就可以知道它的電壓是幾V了

好了, 電壓轉換的原理各位朋友都懂的話, 剛剛講的是輸入, 輸出的概念也是一樣的, 考考大家,如果我們要PIN輸出3V應該數值要設定多少呢?

答案就是 3v/3.3*1024=930 , 各位答對了嗎?


PIN模擬電壓

這集最困難的地方已經講完了, 剩下的地方就是 數位輸入與類比輸入基本的用法,  直接看例子, 讀取P0 的數位輸入值放入status, 讀取P1的類比輸入值放入value, 並最後看看LED 螢幕顯示多少?

PS: 模擬器畫面利用滑鼠按住P1, 可以調整模擬電壓值喔

OK, 那最後提醒大家一下, 在PIN引腳設定時,檢查一下PIN是否有重複設定的,例如同一之PIN同時先後設定為輸入或輸出時, 除非你頭腦很清楚你在做啥, 不然建議每支PIN都在設計時,就先規劃好,新手比較不會搞錯喔!micro:bit 其實PIN功能,除了上面講的四個基本功能外,通訊也有預設腳位如SPI,I2C可用,不過那就真的稍微複雜點了,下次有機會在講數位通訊協定吧!

This Post Has 3 Comments

  1. 請問竟然類比可寫入 等於3V的電壓,那為什麼TT馬達等一定要接 相關驅動版?

    1. 嗨, 這邊提供一個觀點供你參考, 主要的關鍵點就是在於microbit腳位的電流驅動能力, microbit在設計io腳位時, 規劃所有腳位可以共用”90mA”(注意!是共用喔!),單支PIN則限制了5mA上限的驅動能力, 這也就是為什麼TT馬達所需的電流已經算是小了,但還是不能直接接上PIN腳直接驅動的原因。(你可以去看一下使用的TT馬達所需電流規格應該就會明白)。

      通常我們還是會接上馬達驅動板來做相關的應用,除了有足夠的電流驅動能力(一般都有1A左右), 另一個好處是同時把小電流的控制區塊與馬達大電流的區塊做適當隔離,避免雜訊干擾。

  2. 你好,解釋很好。謝謝分享。

發佈留言

Close Menu