當(dāng)人們想到「編程」時(shí),通常很自然地想到軟件。然而,編程不僅僅是和軟件有關(guān),它還可以通過硬件編程影響現(xiàn)實(shí)物理世界。這也是所謂的物理計(jì)算。顧名思義,物理計(jì)算就是用你的程序控制現(xiàn)實(shí)世界中的事物——硬件,而不是軟件。
當(dāng)你在你的洗衣機(jī)上設(shè)置程序,改變你的可編程恒溫器上的溫度,或按下一個(gè)按鈕交通信號(hào)燈安 全過馬路,你是使用物理計(jì)算。
這些設(shè)備通常是由單片機(jī)控制的,你也可以通過樹莓派 Pico 來實(shí)現(xiàn)對(duì)硬件的編程。
樹莓派 Pico 的引腳
Pico 通過其邊緣一系列的引腳與硬件通信。這些引腳大多是作為通用輸入/輸出(GPIO)引 腳工作,這意味著它們可以被編程作為輸入或輸出,并沒有自己的固定用途。有些引腳有額 外的功能和與更復(fù)雜的硬件通信的模式,另一些則有一個(gè)固定的目的,比如供電和提供連 接的功能。
樹莓派 Pico 的 40 個(gè)引腳被標(biāo)記在板的底部,3 個(gè)也在板的頂部被標(biāo)記有他們的數(shù)字:Pin 1, Pin 2, Pin 39。這些標(biāo)簽幫助你記住編號(hào)是如何排序的:引腳 1 是在左上方,當(dāng)你從上面看板與 microUSB 端口到上面的一邊,引腳 19、20 在左下角,引腳 21、22 在右下角,引腳 39 的右上方與未標(biāo)記的引腳 40 在右上角。
比起使用物理引腳的序號(hào),更常見的是根據(jù)其在引腳擁有的功能來使用的。下面有幾個(gè)類別的 Pin 類型,每一個(gè)都有一個(gè)特定的功能:
3V3 | 3.3V 電源 | 3.3 V的電源,與Pico內(nèi)部運(yùn)行的電壓相同,由VSYS輸入產(chǎn)生。可以使用上面的 3V3_EN引腳打開和關(guān)閉這個(gè)電源,它也 會(huì)關(guān)閉您的Pico。 |
VSYS | ~2-5V 電源 | 一個(gè)直接連接到Pico內(nèi)部電源的引腳,如果沒有將Pico關(guān)閉,就不能將其關(guān)閉。 |
VBUS | 5V 電源 | 從你的Pico的micro USB端口獲取的5 V電 源,用于為需要3.3 V以上的硬件供電。 |
GND | 0V接地 | 一種接地連接,用于完成電路與電源的連接。幾個(gè)這樣的引腳點(diǎn)綴在您的Pico上,使布線更容易。 |
GPxx | 通用輸入/輸出 引腳編號(hào)“xx” | 你的程序可以使用的GPIO引腳,標(biāo)記為 GP0到GP28。 |
GPxx_ADCx | 通用輸入/輸出引腳號(hào)碼xx 模擬輸入號(hào)碼x | 以ADC和數(shù)字結(jié)尾的GPIO引腳既可以用作模擬輸入,也可以用作數(shù)字輸入或輸出,但不能同時(shí)用作兩者。 |
ADC_VREF | 模數(shù)轉(zhuǎn)換器參考電壓 | 為任何模擬輸入設(shè)置參考電壓的一種特殊輸入引腳。 |
AGND | 模數(shù)轉(zhuǎn)換器 0V 參考電壓 | 一種特殊的接地方式 ADC_VREF引腳。 |
RUN | 啟用或禁用您的Pico | 其他微控制器可以通過排針 |
幾個(gè) GPIO 引腳有額外的功能,你將在本站后面的系列教程中了解到。
小貼士:
1、引腳 GP0。就像在 Python 中計(jì)數(shù)一樣,你的 Pico 的 GPIO 引腳從數(shù)字 0 開始而不是數(shù)字 1。標(biāo)記在板的底部,它們從 0 到 29,盡管有些沒有引出作為物理引腳。
2、缺失的引腳。Pico 上的通用輸入/輸出引腳基于其主控芯片(RP2040 微控制器)的引腳進(jìn)行編號(hào)。然而,并不是 RP2040 上所有可用的引腳都被帶到 Pico 上,這就是為什么在最后一個(gè)基本通用引腳 GP22 和第一個(gè)可模擬引腳 GP26_ADC0 之間的編號(hào)存在差距的原因。
3、警告,Pico 的引腳被設(shè)計(jì)成一種有趣且安全的物理計(jì)算實(shí)驗(yàn)方式,但始終要小心對(duì)待。注意不要把 Pico 的兩個(gè)引腳意外或故意直接連接在一起,否則會(huì)引起短路,可能會(huì)使 Pico 報(bào)廢。
電子元件
面包板,也稱為無焊料面包板,可以使物理計(jì)算項(xiàng)目變得容易得多。面包板不是一堆需要用電線連 接的獨(dú)立組件,而是讓你插入組件并通過隱藏在表面下的金屬軌道將它們連接起來。許多電路板還 包括電源分配的部分,使你更容易建立電路。
跳線,也被稱為跳線引線或杜邦線。它們有三個(gè)版本:公對(duì)母線(M2F)、母對(duì)母線(F2F)。如果您不使用面包板,可以使用它將單個(gè)組件連接到 Pico;以及公對(duì)公(M2M),用于將面包板的一部分連接到另一部分。根據(jù)您的項(xiàng)目,您可能需要所有三種類型的跳線;如果你使用的是面包板, 你通??梢杂?M2F 和 M2M 跳線。
按鈕開關(guān),也稱為瞬時(shí)開關(guān)、輕觸開關(guān),是用于控制游戲機(jī)的開關(guān)類型。通常有兩條或四條腳可供選擇。任何一種類型都可以與 Pico 配合使用。按鈕是一種輸入設(shè)備,你可以告訴程序注意它是否被按 下,然后執(zhí)行任務(wù)。另一種常見的開關(guān)類型是鎖定開關(guān),而按鈕僅在按住按鈕時(shí)處于活動(dòng)狀 態(tài),而鎖定開關(guān)(就像在光開關(guān)中發(fā)現(xiàn)一樣)在切換一次按鈕時(shí)激活,然后保持活動(dòng)狀態(tài),直 到再次切換它。
發(fā)光二極管(LED)是輸出設(shè)備,你可以直接從你的程序控制它。當(dāng) LED 燈亮著的時(shí)候,你會(huì)發(fā) 現(xiàn)你的房子里到處都是 LED 燈,從讓你知道你的洗衣機(jī)開機(jī)的小燈到讓你的房間亮起來的大燈。
LED 有各種各樣的形狀、顏色和尺寸,但并非所有 LED 都適合與 Pico 一起使用,避免使用任何表示它們專為 5V 或 12V 電源設(shè)計(jì)的 LED。
電阻器是控制電流流動(dòng)的組件,可使用稱為歐姆(Ω)的單位進(jìn)行測量不同的值。歐姆的數(shù) 量越大,提供的阻力就越大。對(duì)于 Pico 物理計(jì)算項(xiàng)目,它們最常見的用途是防止 LED 產(chǎn)生過多的電流并損壞自己或 Pico。為此,你希望電阻器的額定值約為 330Ω。
壓電式蜂鳴器,通常被稱為蜂鳴器,是另一種輸出設(shè)備。雖然 LED 能發(fā)光,但蜂鳴器卻會(huì)發(fā)出噪音——實(shí)際上是嗡嗡聲。蜂鳴器的塑料外殼內(nèi)是一對(duì)金屬板;當(dāng)接通電源時(shí),這些平板會(huì)相互振動(dòng),產(chǎn)生嗡嗡聲。
蜂鳴器有兩種:主動(dòng)蜂鳴器(有源蜂鳴器)和被動(dòng)蜂鳴器(無源蜂鳴器)。確保有一個(gè)活躍的蜂鳴器,因?yàn)檫@是最容易使用的。
電位器是一種你可以在音樂播放器上找到音量控制的組件,可以作為兩個(gè)不同的組件工作。當(dāng)它的三個(gè)引腳中的兩個(gè)連接起來時(shí),它就充當(dāng)了可變電阻或壓敏電阻,這種電阻可以通過擰旋鈕隨時(shí)調(diào)節(jié)。當(dāng)三個(gè)引腳適當(dāng)?shù)?連接起來,它成為一個(gè)分壓器,并根據(jù)旋鈕的位置就可以輸出從 0V 到全電壓輸入的任何東西。
無源紅外傳感器(PIR),旨在探測所監(jiān)視范圍內(nèi)人體的進(jìn)入和離開。PIR 傳感器通常在 防盜警報(bào)器中看到,以發(fā)現(xiàn)在黑暗中移動(dòng)的人。
I2C 顯示屏是一個(gè)屏幕模塊,通過稱為集成電路(I2C)總線的特殊通信系統(tǒng)與你的 Pico 進(jìn)行通信。此總線允許你的 Pico 控制顯示屏,發(fā)送從文字到圖形的所有內(nèi)容以供其顯示。
其他常見的電氣組件包括電機(jī),它需要一個(gè)特殊的驅(qū)動(dòng)元件才能連接到你的 Pico,電流傳感 器可以檢測電路使用的功率,跟蹤運(yùn)動(dòng)和方向的慣性測量單元(IMUs),以及光敏電阻(LDRs),通過檢測光而不是發(fā)射它像反向 LED 一樣運(yùn)行的輸入設(shè)備。
你也會(huì)發(fā)現(xiàn)買一個(gè)有多個(gè)隔層的儲(chǔ)物箱很有用,這樣你就可以把你在項(xiàng)目中不用的組件整理完好。如果可以的話,試著找一個(gè)同樣適合面包板的,這樣每次你做完的時(shí)候就可以把所有東西都收拾干凈。
通過讀取電阻上的顏色碼獲取阻值
電阻器的值范圍很廣,從零電阻版本(實(shí)際上只是幾根電線)到發(fā)電站使用的腳大小的版本。但 是,很少有電阻器的數(shù)值是以數(shù)字的形式打印出來的。取而代之的是,電阻器使用一種特殊的代碼,即電阻器周圍的彩色條紋或條帶。
要讀取電阻器的值,將其定位為一組帶在左邊,一個(gè)帶在右邊。從第一個(gè)環(huán)開始,在表的 1st/2nd Band 列中查找它的顏色,以得到第一個(gè)和第二個(gè)數(shù)字。本例有兩個(gè)橙色的條帶,它們都表示值為 3,總共為 33。
移到第三或第四環(huán)。取決于你的電阻在 Multiplier 列中看它的顏色。這告訴你, 你需要用當(dāng)前數(shù)乘以什么數(shù)才能得到電阻器的實(shí)際值。這個(gè)例子有一個(gè)棕色的條帶,意思是「×10」。橙色帶是 33,加上棕色帶是 0,得到 330,這是電阻的值,單位是歐姆。
最后一個(gè)環(huán),是電阻的容差。這僅僅是它可能有多接近其評(píng)級(jí)價(jià)值。便宜的電阻可能有一個(gè)銀 帶,表明它可以高于或低于其額定值的 10%,或根本沒有最后一個(gè)帶,表明它可以是 20% 的 高或低;最昂貴的電阻有一個(gè)灰色帶,表明它將在其額定值的 0.05% 之內(nèi)。對(duì)于大多數(shù)業(yè)余 愛好者的項(xiàng)目來說,準(zhǔn)確性并不是最重要的。
如果你的電阻值超過 1000 歐姆(1000Ω),則通常以千歐(kΩ)級(jí),如果它超過一百萬歐 姆,那些是兆歐(MΩ)級(jí)。2200Ω 電阻器將寫成 2.2kΩ,2200000Ω 電阻器將被寫成 2.2MΩ。
審核編輯:劉清
-
單片機(jī)控制
+關(guān)注
關(guān)注
0文章
59瀏覽量
18734 -
模數(shù)轉(zhuǎn)換器
+關(guān)注
關(guān)注
26文章
3215瀏覽量
126909 -
模擬器
+關(guān)注
關(guān)注
2文章
880瀏覽量
43307 -
GPIO
+關(guān)注
關(guān)注
16文章
1215瀏覽量
52232 -
樹莓派
+關(guān)注
關(guān)注
117文章
1710瀏覽量
105762
原文標(biāo)題:物理編程改變世界
文章出處:【微信號(hào):趣無盡,微信公眾號(hào):趣無盡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論