# Get started with MicroPython on Raspberry Pi Pico: Chapter 1_Get to know your Raspberry Pi Pico ###### tags: `Get started with MicroPython on Raspberry Pi Pico` `Pico` `Raspberry Pi` [官方連結](https://www.raspberrypi.com/documentation/microcontrollers/micropython.html) Raspberry Pi Pico小到讓人驚豔,從智能居家系統到工業工廠的全面支援都在你的翻掌之間。不論你是想學習MicroPython這個程式語言,邁出你在物理計算(physical computin)的第一步,還是說你想要建立一個硬體專案,Raspberry Pi Pico與它出色的社群,都將支援你在這條路上每一步。 Raspberry Pi Pico被稱為微型控制器開發板(microcontroller development board),簡單來說,它就是一個印刷的電路板,裡面有著一個設計用於物理計算的特殊類型的處理器:微控制器。Raspberry Pi Pico的大小大概就是一個口香糖(飛壘),這主要歸功於電路板中心的晶元(chip):RP2040 microcontroller,因此具有驚人的功率。 Raspberry Pi Pico並非設計來取代Raspberry Pi的,後者是另一種名稱[單板電腦](https://zh.wikipedia.org/zh-tw/%E5%8D%95%E6%9D%BF%E6%9C%BA)(single-board computer)的設備。雖然你可能會用Raspberry Pi來玩玩遊戲或是寫寫故事、看看網頁之類的,不過Raspberry Pi Pico是設計用來做物理計算的,它能夠控制任何東西,LED、按鈕、感測器,甚至是其它的微型控制器。 透過這本書,你將會學到關於Raspberry Pi Pico的所有事情,但你所學到的技能也能夠應用到其它的RP2040微控制器,甚至其它的設備,只要它們跟MicroPython相容就可以。 ## A guided tour of Raspberry Pi Pico Raspberry Pi Pico,後面簡稱為'Pico',甚至比Raspberry Pi Zero還要來的小,它是Raspberry Pi的單板電腦家族中最緊湊的。儘管如此,它仍然包含許多功能,所有在板子邊緣的pin腳都可以使用。 ![](https://hackmd.io/_uploads/Hkmf4akTc.png) Figure 1.1 Raspberry Pi Pico就是上面看上去的那樣子。如果你看著那個長邊的部份,你會看到一些看起來有點像小小太空人的金黃色的區域。這些pins腳提供RP2040微控制器與外面世界的連接,稱之為input/ouput(IO)。 ![](https://hackmd.io/_uploads/BJPZvp1Tq.png) Pico上面的pin腳跟構成Raspberry Pi上面通用的input/output (GPIO)接頭(header)非常相似,不過儘管多數的樹莓派的單板電腦都已經自帶物理金屬接腳(physical metal pins),但Pico就是沒有。它有一個很好的理由是這樣的:看看你電路板(circuit board)的外邊緣,你會發現它是凹凸不平的,而且帶有一些圓形切口(見Figure 1-2)。 這些凹凸不平的部份就形成一種人稱[齒形的](http://terms.naer.edu.tw/detail/3457900/)(castellated)電路板,這讓你可以在不需要任何物理金屬接腳的情況下用焊接的方式把它接到其它電路板的頂端,有這助於控制高度,讓你完成一些較小的成品。如果你買由Raspberry Pi Pico所提供的現成的配件,那幾乎可以確定它會是城堡式(雉堞墻式)的安裝。 凹凸不平(bumps)的內孔是用於2.54mm male pin headers(公的排針?公的pin腳接頭?),跟Raspberry Pi的GPIO接口是一樣的。透過在正確的位置將它們向下焊接的方式,你可以將Pico推入麵包板(solderless breadboard,無焊接的板子),就可以盡可能地簡單的連接、斷開,非常適合用於實驗。 ![](https://hackmd.io/_uploads/rJDM3TJ65.png) Pico中心的芯片(Figure 1-3)是一個RP2040微控制器。這是一種客制的[積體電路](http://terms.naer.edu.tw/detail/3631079/)(IC),由樹莓派的工程師專門設計、製造,用於驅動Pico和其它基於微控制器(microcontrollerbased)的設備。如果你把它拿到燈光下,你會看到樹莓派的logo蝕刻在芯片(chip)的上面,還會有一系列的字母與數字,這是提供工程師追蹤芯片的製造時間與地點用的。 ![](https://hackmd.io/_uploads/SJ4gApJp5.png) Pico的上面是一個micro USB的接口(Figure 1-4)。這提供了Pico執行的電力,也可以讓Pico通過這個USB port跟樹莓派或是其它電腦溝通,這就是你將程式載到Pico的方式。如果你把Pico拿起來看,然後正面的看著這個USB port,你會發現它的形式是底窄上寬。拿一條micro USB線,你會看到它的連接器是一樣的。 ![](https://hackmd.io/_uploads/r1NgX0JT5.png) micro USB port的下面有一個小小的按鈕,上面標著'BOOTSEL'(Figure 1-5)。'BOOTSEL'是boot selection的簡寫,在Pico第一次開機的時候,它會在兩種啟動模式之間切換。後續在你準備好用MicroPython寫程式的時候,你就會用到這個啟動選擇按鈕。 ![](https://hackmd.io/_uploads/rygWQR169.png) Pico的底部有三個比較小的gold pad(金色圓盤?),上面寫著'DEBUG'(Figure 1-6)。這是設計來當你在Pico上執行程式的時候做debugging(除錯)或是找出錯誤用的,使用的殊特工具稱為debugger(除錯器)。在這本書中,你不會有機會去使用這個debug header,不過當你寫一個更大而且更複雜的程式的時候你會發現它非常好用。 ![](https://hackmd.io/_uploads/BkpbXAyTc.png) 把你的Pico翻過來,你會看到下面寫著字(Figure 1-7)。這稱為silk-screen layer(絲印層),會標記每個pin腳跟它的核心功能。你會看到像是'GP0'、'GP1'、'GND'、'RUN'還有'3V3'之類的說明。如果你忘記哪個pin腳是幹嘛的之類的,那這些標記會告訴你,不過當Pico被推進去麵包板的時候你就看不到了,所以啊,你會在這本書中找到完整pinout diagrams(針腳圖),方便你參考。 你可能已經注意到了,並不是所有的標記都跟相對的pin腳對齊:板子頂部跟底部的小洞是安裝孔,這設計是讓你可以把你Pico更穩地連接到你的設計項目上(使用螺釘或是螺母、螺栓)。當孔洞礙到標籤的時候,那標籤就會往上或是往上推一下:右上角來看,'VBUS'是左邊第一個pin腳,'VSYS'是第二個,'GND'是第三個。 你還會看到一些扁扁平平標著'TP'跟數字的標籤。這些是測試點(test point),設計上是給工程師快速的檢查Pico在工廠組裝之後是否正常作業。根據不同的測試板,工程師也許會用一種叫做萬用電表(multimeter)或是示波器(oscilloscope)的工具來檢查你的Pico是否正常,確認沒問題之後才會把產品包裝寄給你。 最後,你會看到一個小貼紙,上面有個條碼在上面。這包括Pico的序號,還有版本信息跟製造日期。 ### Soldering the headers 當你開箱你的Pico時,你會注意到它整個是平的:沒有樹莓派的GPIO那樣的金屬的pin腳從邊邊伸出來。這就是留給你萬一你想要用castellations(翻城堡很怪,但就是一種組裝板吧?)把你的Pico接到另一個電路板上,或是直接焊接起來用的。 使用Pico最簡單的方法就是把它接到麵包板上,不過,要這麼做就要先把Pico裝上排針(pin headers)。你會需要一個帶支架的焊槍、焊料、清潔海綿,Pico跟兩個20-pin 2.54mm的公頭的排針條(譯者注,這些東西買的時候就花一點點費用讓攤主幫你處理好就好了)。如果你已經有無焊麵包板了,那就可以用它讓焊接的過程更簡單了。 有些時候,2.54mm的針頭會是超過20pin一條的方式在賣啦。如果你的太長了,那就從一端開始數個20pins,然後在20-pin跟21-pin的中間:你會看到兩邊都有一個小壓痕。這是一個斷點(break point):把你的姆指弄進去,然後頭在左右手,一掰一扣,你就會得到一個20pins的排針了。如果其它的針頭還是超過20pins,那就再來一次,你就會有兩個20-pin的排針了。 :::warning **WARNING** 焊槍不是玩具:它們非常、非常、非常熱,而且插頭拔掉之後還會熱很長一段時間。如果你還年輕,確保有個成年人看著;不管你的年紀如何,你都要確定不用的情況下要把它插進去,然後一輩子不要去碰那個金觸的部份,即使插頭已經拔掉。 ::: 把Pico倒置,這樣你就可以看到底部的silk-screen pin numbers(絲印的pin腳)與測試點。拿一個剛剛弄好的20-pin的排針,然後輕輕的把它推進去Pico左手邊的針孔(pin hole)。確定好有正確的插進去針孔,不是只是停在castellations喔,把所有20 pins都就定位,然後取另一個在另一邊做一樣的事。當你完成之後,pins上面的塑膠塊應該被推到Pico的電路版上。 捏住Pico的兩側來固定電路板跟兩個排針(pin headers)。抓好喔,別讓它跑了,不然針頭會掉出來!如果你還沒有麵包板,那在焊的時候你會需要一些方法來固定針頭,記得,不要用你的手指,不然會燙傷。你可以用小鱷魚夾,或是一小滴的藍丁膠(Blu Tack)或是其它黏性的油灰來固定針頭(Figure 1-8)。焊接一個pin腳,然後檢查一下有沒有對齊:如果pins傾斜了,那就仔細的調整讓它們對齊再來焊。 ![](https://hackmd.io/_uploads/rkZbeeba9.png) 如果你手上就真的有一塊麵包板,那就只要把你的Pico倒過來,然後記得捏著排針,然後把排針跟Pico都塞到麵包板的洞。一直推,直到你的Pico貼平,排針上的塑膠塊就夾在Pico跟麵包板之間(Figure 1-9)。 ![](https://hackmd.io/_uploads/r1cWbgbp5.png) 看著你Pico的頂部(top):你會看到每個pin腳都會有一小段從針孔探出頭。這就是你要焊接的部份,這就是說,拿起你的焊槍把這幾個都點啊點啊點的焊起來。 :::warning **WARNING** 焊接是很好學啦,不過你還是要練習一下。在你打開焊槍之前記得仔細讀讀說明書,慢慢滴、小心滴拿每一項東西。也要避免使用太多焊料:焊料少很簡單補,但多了很難處理,特別是它已經搞到Pico的其它部份時。 ::: 把你的焊槍放在它的支架上,確認金屬尖端的部份沒有碰到任何東西,然後插上。等它熱需要一點點時間;等的時候你可以先拿一小段焊料在手,大約是你的食指的兩倍長。你應該是可以扭扭轉轉就把焊料弄斷才對,它真的很軟。 :::warning **WARNING** 雖然現代的焊料已經是不含鉛了,不過一種稱為助熔劑(flux)的特殊物質仍然是有毒的。這是一種腐蝕性凝膠,主要用於焊接時燒掉接頭上的髒東西。如果這卡在你的手指上是不會有事啦,不過如果你啃了它那就肯定會生病的。在你開始使用焊料之後再來處理它們,用完記得要洗手,特別是吃東西之前一定要洗洗手。 ::: 如果你的焊台上有一塊清潔海綿,那就把它拿到水槽裡面,然後放點冷水上去,它就會變軟。把多的水份擠一擠,溼,但是不要滴水的狀態最完美,放回去。如果你用的是一種黃銅絲繞起來的清潔器,那就不需要加水了。 <table> <thead> <tr> <td> <img src="https://hackmd.io/_uploads/r1vyPxWpq.png" alt="Figure 1-10"> </td> <td> <img src="https://hackmd.io/_uploads/BkTSvxW6c.png" alt="Figure 1-11"> </td> <td> <img src="https://hackmd.io/_uploads/BJXPweWTq.png" alt="Figure 1-12"> </td> <td> <img src="https://hackmd.io/_uploads/HkSODlZ6c.png" alt="Figure 1-13"> </td> </tr> </thead> </table> 拿起你的焊槍,確保你在移動的時候電線不會去纏到。像筆一樣的拿著,不過要確認你的纖纖玉指只會碰到塑膠或是橡膠的把手區:金屬的部份,甚至是actual iron tip前面的軸心都會是非常熱的,很快的就能燙傷你的那種。 在開始焊接之前,清潔一下焊槍的尖端:用海綿或是那個黃銅絲繞起來的清潔器刷兩下。取一段焊料,抓著一端,另一端就推到焊槍的尖尖處,很快的它就會融成一團。如果沒有融成一團,那就是預熱不足,等等再試,不然就是再清潔一次。 在頂端塗上一滴稱為鍍錫鐵(tinned iron)的焊料。焊料中的助熔劑有助於燒掉未端的髒東西。再清潔一次,清掉多洋的焊料;尖尖的部份要保持明亮乾淨。 把焊槍放回支架,除非你一直在用啦,不然槍最好是放回去,然後移動你的Pico,讓它在你的面前。現在你就要一手槍,一手焊料。把焊槍壓到離你最近的pin腳,讓它同時接觸到Pico上的金屬pin腳跟金色的部份(Figure 1-10)。 有一點很重要,那就是pin腳的部份跟焊盤的部份都要都要加熱,所以啊,把焊槍就貼在那上面然後數到三。當你數到三之後,焊槍繼續放在適當的位置,把焊料輕輕的壓在pin腳跟焊盤上,不過是壓在焊槍前面那個尖尖的另一邊(Figure 1-11)。這應該很快就會融化然後開始流動。 融了之後,焊料會在pin腳跟焊盤的週圍流動:因為Pico電路板上有一層稱阻焊層的塗層,這能讓焊料停在它該停的位置上。確認沒有使用太多的焊料:一點點就夠用了。 把焊料的其它部份從接頭上拔下,然後要確保你的焊槍在原位。如果你先拉開焊槍,那焊料就會變硬,那你就無法拿掉你手中的部份;真發生這種事的話,把焊槍再拉回去加熱,就會再融化。一旦融化的焊料擴散到pin腳跟焊盤的周圍(Figure 1-12),大概一秒你就可以拿下你的焊料。恭喜:你成功焊接第一個針腳了。 清潔一下焊槍,然後放回支架。把Pico拿起來看看你自己做的好事:應該要填滿焊盤,然後跟pin腳的部份平滑的接觸,看起來有點像火山,如Figure 1-13所示。 ![](https://hackmd.io/_uploads/r1bw6b-Tq.png) 如果焊料黏在pin腳上,但是沒有黏在焊盤上的話,那就代表焊盤的加熱是不足的(Figure 1-14)。不要擔心,這很好處理:拿起你的焊槍,然後在pin腳跟焊盤上加個熱,確保這一次兩邊都有壓到。不消片刻,焊料應該就會回流然後變成一個很好的接頭。 另一方面,如果焊料太熱的話,它的流動就會怪怪滴,你就會得到一些燒焦的助焊劑過熱的接頭(Figure 1-14中的B)。這可以用刀尖或是牙刷跟少量的異丙醇來清理。 如果焊料完全地蓋住pin腳,就像Figure 1-14的C那樣的話,那就代表焊料用太多了。這應該沒什麼問題就是了,雖然看起來醜醜的:只要焊料沒有接觸到其它的pin腳的話,應該還是可以啦。如果有接觸到的話,像Figure 1-14的D那樣的話,那就可以會造成短路。 一樣的,這種電橋的情況是很好處理的:首先,先試著重熔流佈你弄出來的那一沱;如果不行的話,那就把焊槍再壓到形成電橋的pin腳、焊盤的另一邊,讓它流一些過去。如果還是很多,在你想用Pico之前,你還是要移除多餘的焊料:你可以買系列脫焊編織帶(desoldering braid),把它壓在融化的焊料上就可以吸掉多餘的焊料,或是用一種吸焊器(desoldering pump)來吸多餘的焊料。 另一個常見的錯誤就是焊料太少:如果你還是看的到銅焊盤的話,或者是在pin腳跟焊盤之間有個間隙沒有填滿焊料,那就是焊料用太少了(Figure 1-14的E)。把焊槍放回pin脚和焊盤上,數到三,再加一點焊料。 太少總是比太多更容易修復,所以記住要小心焊接! 一旦你對第一個pin腳的成果滿意,那就重覆40次來搞定你的Pico吧,不要碰你底部那三個'DEBUG'的pin腳。小技巧:先焊四個邊角。慢慢來,不要急,有話慢慢說,有事慢慢做,記得,做錯了都還是有機會可以救的。記得在焊接的過程中要不斷的清潔你的焊槍,如果做的過程覺得怎麼變難搞了,那就可以在上面融化一些焊料,重新對烙鐵頭進行錫焊。也要注意你手上的焊料長度要一直跟著拉:如果太短了厚,你的手指就會很接近那個焊槍的尖頭,會燙到啊。 當你完成之後,然後你也已經檢查過所有的pin腳都是好棒棒,非常完美,也沒有pin腳之間產生電橋的問題,最後一次清潔焊槍的尖端,然後將其放回支架並且拔掉電源。在把焊槍放好之前,一定要讓它冷卻:焊槍拔下插頭後會熱很久,讓你灼傷的時間長的很! 最後,一定要洗手,恭喜,你已經是焊槍界的高手了。 ### Installing MicroPython ![](https://hackmd.io/_uploads/Skz44z-Tq.png) 現在,你已經把針頭焊到你的Pico上了(Figure 1-15),只需要再做一件事情就準備好了:安裝MicroPython。拿一條micro USB線插到Pico,確認方向對之後就輕輕的推進去就是了。 :::warning **WARNING** 要把MicroPython安裝到你的Pico上,你需要從網路下載。如果你的樹莓派沒有網路的話,那你就要找個有網路的系統才能完成設定。你只需要做一次,只用一次(火鳳梗):安裝MicroPython之後,除非你要改用其它程式語言,不然它就是一輩子在Pico上。 ::: 按著Pico頂部的"BOOTSEL"按鈕;然後,按住它的同時把micro USB線另一種的USB port接到你的樹莓派或是其它的電腦上。數到三,一、二、三,然後放開"BOOTSEL"按鈕。 幾秒鐘之後你應該就會看到Pico會顯示為一個可移除的磁碟(drive),就像是USB flash drive或是外部硬碟那樣。在樹莓派上你應該就會看到一個彈出視窗,然後會問你是不是要在檔案總管中開啟這個磁碟。 ![](https://hackmd.io/_uploads/BkZpKM-ac.png) 在檔案總管的視窗中,你會看到Pico會有兩個檔案(Figure 1-16):INDEX.HTM與INFO_UF2.TXT。第二個檔案包含Pico的一些信息,像是當前執行的啟動載入器(boot loader)的版本。第一個檔案,INDEX.HTM,就是你需要的那一個:把你的鼠標移過來,點擊兩下用你的瀏灠器打開它。 ![](https://hackmd.io/_uploads/B1R0FGZpc.png) 瀏灠器打開之後你會看到一個歡迎光臨的網頁,這上面會跟你說所有關於Pico的一切。讀一讀,然後點擊MicroPython來載入關於MicroPython的部份。 ![](https://hackmd.io/_uploads/HJAJ9Gba5.png) 點擊'Download UF2 file'(Figure 1-17)下載MicroPython的韌體(firmware),這是一個非常小的檔案,包含用於Pico的MicroPython。這不會花你太多的時間,檔案很小。下載完成之後就關閉你的瀏灠器了。 開啟一個新的檔案總管,就按下raspberry icon menu,然後轉Accessories,然後點擊File Manager。用檔案總管左邊的清單找一下你的下載資料夾。滾輪滾一滾就會找的到才對,看你的資料夾有多少就滾多久。打開下載資料夾,然後找出剛剛下載的檔案,這檔案的名字會是'micropython',然後會是日期跟副檔名'uf2'。 ![](https://hackmd.io/_uploads/SkGu-QWac.png) 在UF2這檔案上按著滑鼠,拉到你剛剛開的那個Pico可移除儲存設備上。滑到那視窗之後放開你的滑鼠就可以把檔案拉過去Pico(Figure 1-18) 幾秒鐘之後你就會發現到,Pico從檔案總管上消失了,然後會看到一個警示,一個驅動器沒跳出的情況下被移除:免緊張,就是這樣!當你把MicroPython的韌體拉到Pico去的時候,你就是在跟Pico說,把這個韌體寫入內儲存(器)。為此,你的Pico會從剛剛'BOOTSEL'按鈕的特殊模式中切換出來,然後刷入新的韌體,然後載入它,也就是說你的Pico正在執行MicroPython。 恭喜喔:你已經準備好在你的Pico上使用MicroPython了。 :::info **FURTHER READING** INDEX.HTM這個連結不僅僅是一個下載MicroPython的地方;它還包含豐富的額外資源。點擊分頁去看一下使用者指南、專案、以及資料書籍的收藏,這是一個包含詳細的技術文件書架,涵蓋的範圍從RP2040微控制器的內部運作到Python和C/C++語言程式設計的所有內容。 :::