最新BBC micro:bit V2 -Micro:bit V2 腳位介紹|台灣STEAM教學團隊 oursteamtw
icon教學資源
012021.04

最新BBC micro:bit V2 -Micro:bit V2 腳位介紹

I/O引腳

引腳是電路板與其連接設備進行通訊的媒介。總共有19個引腳可供使用:編號0-16和19-20。引腳17和1則8不可使用。最新版micro:bit則另有
 pin_logoV2 和 pin_speaker  V2 可搭配使用。

例如,以下編碼將根據針腳0上的數位讀取來更改micro:bit的顯示:

from microbit import *

 while True:

    if pin0.read_digital():

        display.show(Image.HAPPY)

    else:

        display.show(Image.SAD)

 
引腳功能

邊緣連接器和引腳分配

下表總結了可用的引腳、類型以及內部連接的引腳。可使用的引腳依
 microbit模組的屬性分為  microbit.pin0 - microbit.pin20


新版micro:bit V2  另有兩個可在MicroPython中存取的引腳,但無法透過邊緣連接器使用:
  • pin_logo  - micro:bit 正面的觸控商標,預設為電容式觸控模式。
  • pin_speaker -用於micro:bit 揚聲器的引腳。
 
脈衝寬度調變
 
電路板上的引腳無法透過音頻引腳調製音頻來輸出模擬訊號。這些引腳只能使用完整的3.3V輸出或拉低至0V。但是仍然可以透過非常快速地開關該電壓,藉由開關時間的長短來控制LED的亮度或電動機的速度。這項技術稱為脈寬調變(PWM),這就是
 write_analog 下面的方法所要做的。

_images/pwm.png


在上方,您可以看到三種不同的PWM訊號圖。它們都具有相同的週期(相同的頻率),但是各自具有不同的佔空比。

 
  • 第一個訊號由 write_analog(511)產生,因為它正好具有50%的佔空比;電源在其中一半的時間處於開啟狀態,而另一半時間則處於關閉狀態。最後的結果會是該訊號的總能量相同:皆為1.65V而非3.3V。
  • 第二個訊號的佔空比為25%,可以用write_analog(255) 生成。就像在該引腳上輸出0.825V一樣,具有類似的效果。
  • 第三個訊號的佔空比為75%,可以用 write_analog(767) 生成。它的能量是第二個訊號的三倍,相當於在第二個引腳上輸出2.475V。

請注意,這對於本身具有慣量的電機設備;或對於會快速閃爍的LED而言(人眼無法察覺其閃爍速度),效果很好,但在產生聲波時效果不佳。該板只能在其自身上產生方波聲音,聽起來很像非常古老的電腦遊戲聲,而那些遊戲也只能做到這一點。

級別

共有三種引腳,不同之處在於它們的使用方式。它們由下面列出的級別表示。請注意這是個層次結構,因此每個級別都具有上一等級的所有功能,再加上自己的功能。

 

備註

這些級別實際上用戶無法使用它們創作新專案,只能使用預設的功能,這些實例以主板上的引腳為主。

classmicrobit.MicroBitDigitalPin
read_digital()

如果引腳為高電平,返傳1;如果引腳為低電平,則返傳0。

rite_digital(value)

如果 value 為1,則將引腳設定為高電平;如果為0,則將其設定為低電平。

classmicrobit.MicroBitAnalogDigitalPin
read_analog()

讀取該引腳的電壓,並將其返傳為0(表示0V)至1023(表示3.3V)之間的整數。

write_analog(value)

在引腳上輸出PWM訊號、佔空比與所提供的 value 成正比。 value 可以是整數或0(0%佔空比)至和1023(100%佔空比)之間的浮點數。

et_analog_period(period)

將輸出PWM訊號的週期 period設定為毫秒。最小有效值為1ms。

set_analog_period_microseconds(period)

將輸出PWM訊號的週期 period設定為微秒。最小有效值為256µs。

classmicrobit.MicroBitAnalogDigitalPin
read_analog()

讀取該引腳的電壓,並將其返傳為0(表示0V)至1023(表示3.3V)之間的整數。

classmicrobit.MicroBitTouchPin
is_touched()

如果引腳感應到手指觸摸,返傳 True;否則返傳 False

備註

邊緣連接器上的引腳預設的觸控模式為 電阻式。商標引腳V2的預設則為電容性

電阻式觸控 的原理為透過測量引腳與地面之間的電阻來完成的。低電阻可提供的讀數為 True。為了使用手指獲得可靠的讀數,您可能需要用身體的另一部分(例如另一隻手)觸摸接地針腳。

電容式觸控 該原理是透過使用手指作為導體與電容器的電場相互作用來完成。電容式觸摸 不需要接地作為電路的一部分。

set_touch_mode(value)

備註

邊緣連接器上的引腳預設的觸控模式為 電阻式。商標引腳V2的預設則為 電容性

設定引腳的觸控模式。值可以是CAPACITIVE 或 RESISTIVE。例如,pin0.set_touch_mode(pin0.CAPACITIVE)

當引腳更改為輸入模式時,會自動配置該引腳的上拉模式。輸入模式為 read_analog/ read_digital/ is_touched。 而預設的拉取模式則為NO_PULLPULL_DOWN PULL_UP。如果調用set_pull則會將引腳以給定的拉取模式配置為read_digital

備註

micro:bit的外部弱(10M)上拉電阻僅安裝在引腳0、1和2上,用於執行觸控感應。
在引腳5和11上則裝有外部(10k)上拉電阻,用於執行按鈕A和B。
GPIO引腳也可用於顯示,如上表所述。如果要將這些引腳用於其他目的,則可能需要關閉顯示螢幕

請參閱邊緣連接器數據表

  • icon
  • icon
  • icon
  • icon
  • icon
  • icon電話:04-2337-1605
  • icon傳真:04-2256-9949
  • icon統編:13438259
  • iconE-mail:oursteamtw@gmail.com
  • iconLINE ID:@oursteam