Document

如何控制板子IO口的輸入輸出
IO 在計算機中指Input/Output,也就是輸入和輸出,簡稱 IO 口

各種 IO 接口都不盡相同,有些特殊的接口是要更大一些,而且一般來說,它附近也會印有標簽方便用戶理解,如這塊板子的底部是按照 0/1/2/3V/GND 的順序分布在金手指上(計算機中大多都是是從 0 開始計算的)
在這個 microbit 的模塊中,將板子的接口定義為 pinN 對象,其中 N 代表接口的數(shù)值,所以 0 號接口也就叫做 pin0 對象,當然也可以通過 import machine 的 Pin 重新定義自己喜歡的引腳名稱
“害羞”的板子
今天要實現(xiàn)的功能為,觸摸板子的引腳并讓它做出對應的反應
準備的代碼如下:
from microbit import *
while True:
if pin1.is_touched():
display.show(Image.HAPPY)
else:
display.show(Image.SAD)
這個時候你需要一只手觸摸在 1 號標簽的引腳上,就可以能看到板子的圖像變了,如果你松開了,它又會再次變化
-
程序解釋起來如下
- 反復運行
pin1.is_touched()來判斷這個引腳是否有被觸摸到(原理是 ADC 采樣) - 運行后返回了 True, 此時顯示它為笑臉,否則一直顯示苦臉,所以你不觸摸 1 號標簽的引腳,它會一直顯示苦臉
- 反復運行
運行效果如下圖:

- 需要注意的是,因為我們?nèi)梭w(手)有靜電,可能會影響到ADC采樣
燈的 ON 或 OFF
- 元件(LED)正極接電源正極(+),元件(LED)負極接電源負極(-)
- 長端為LED正極,短端為LED負極

- 先普通的把燈點亮,也就是直接將其(LED)接到電源上,把LED的兩條引腳分別直接接到板子的 3V 和 GND 。3V 指電源正極(3V),GND 指電源負級,也稱接地

這樣就點亮了一盞燈(注意正負極),但這樣點亮的燈是不可以控制的,它只會亮,不能滅
本想拿另外一盞燈接上去做對比的,但我發(fā)現(xiàn)一個問題,其他的燈都太短了,所以就交換了以下,用我們的大燈來控制了,可以看到此時接上去燈是不會亮的。

- 接下來使用代碼來控制它的亮和滅,可以看圖中我使用了 pin2 的引腳來控制。
from microbit import *
pin2.write_digital(1)
- 可以看到它亮了起來,那就說明我們可以控制了它的亮,這是不是就和最開始入門教程的一致了?

- 那么我們這次就補充一個 Blink(閃爍)的效果吧,使用如下代碼。
from microbit import *
while True:
pin2.write_digital(1)
sleep(200)
pin2.write_digital(0)
sleep(1000)
- 運行效果如下圖:

-
程序解釋一下
- 使用 pin2 引腳進行輸出 1 , 這會讓 LED 存在變成高電平,簡單認為上就是這個引腳有電壓了,效果相當于直接接了電源正極。(原理上應該理解為兩個引腳之間形成電勢差)
- 首先先將其點亮,即為
pin2.write_digital(1),之后使用sleep(200)讓板子休息 200 毫秒,。 - 然后就將其熄滅,也就是
pin2.write_digital(0),之后再休息 1000 毫秒,也就是 1 秒。 - 將上述過程重新來一遍。
