2021年1月下旬,樹莓派基金會發表一片售價僅 4 美元的低成本、高性能的微控制板,名為 Raspberry Pi Pico,跟以往不同的是這個開發板不能安裝作業系統,只能透過程式開發環境,如 Thonny MicroPython IDE、Visual Studio Code、Eclipse等,將程式編譯後,上傳到 Pico 開發板。
在實作過很多個 Arduino 和 Raspberry Pi的文章後,對於這個開發板很感興趣,想買來測試一下這個新開發板的功能。找了一下銷售通路,因缺晶片沒有庫存,最快要等到 5 月底,於是上露X找了有現貨的賣家買了一片,就是下圖中的 Pico,尚未銲上接腳。
過去的樹莓派開發板(Pi1 - Pi4, Zero)都是可以插 SD 卡及搭配周邊輸出(HDMI),所需的耗電量較大,即是是 Pi Zero 也比一般的開發板(如STM32或Arduino)耗電許多,再加上 Linux 作業系統對單一引腳控制不易等問題,不適合用來作為微控制器。許多開發者僅將 Raspberry Pi 搭配微控制器,讓 Raspberry Pi負責較高階的運算、網路及資料儲存等功能,藉以收集前端微控制器送來的數位/類比控制的感測值。樹莓派基金會為了解決這個問題,推出自行設計的 RP2040 微控制器,藉以補足這項不足。樹莓派基金會也銷售 RP2040 給電子零組件供應商,供應商推出自行設計的開發板,如 SparkFun Pro Micro - RP2040、Pimoroni Tiny 2040 及Adafruit Feather RP2040,其價格根據網站顯示也比樹莓派基金會推出的 Pico 貴很多。RP2040 這個 IC 的編號命名是有規則的,如下圖說明。
RP2040 在其內部記憶體中具備 MicroPython 接口和 USB 快閃記憶體格式(UF2)引導程序,這意味著Pico可以直接處理通過 IDE 上傳的 Python 代碼。有關Raspberry Pi Pico 規格如下:
看到這裡,你會發現 Raspberry Pi Pico 沒有藍芽跟 WiFi,其實這也是要跟 Pi Zero W有所區隔,如果需要這兩項功能的可以選擇 Zero,沒有需求的,選擇 Pico 就足夠了。Pi Pico有 40 支引腳,排針及功能圖如下:
開發板上的 IC 及零件,可參考下圖:
簡單瞭解 Pico 的規格後,接下來要繼續進行初次安裝。這裡的安裝以 Python 開發環境為例,如使用 C 語言進行開發,需在 C 語言開發環境進行設定。Pyhhon開發環境下的安裝的方法有兩種,一是直接下載檔案進行更新,二是透過 Thonny Micropython IDE更新。
(1) 到 RP2040 網站 下載 MicroPython UF2 檔案。如下圖紅色框處:
(2) 按住開發板 BOOTSEL 按鈕不要放開,然後將 Pico 插上 Micro USB,USB 另一端接在電腦,連接 Pico 後,鬆開 BOOTSEL 按鈕。
(3) 這時可以看到多個一個磁碟機(下圖左),它將作為稱為 RPI-RP2 的大容量存儲設備,大小有128MB(下圖右,128MB只是一個外觀,實際上不是存儲設備 RAM 或快閃記憶體)。還有兩個檔案:包含 UF2 引導程序和版本的字符串描述 Info_UF2.TXT 及 重新定導向有關 RP2040 網站的資訊:Index.htm。
(4) 將 MicroPython UF2 檔案按住拖放到 RPI-RP2 磁碟機內。這時 Pico 將會重新啟動。這樣就可以正常運行 MicroPython 了。
(2) 安裝 Thonny Python IDE程式
執行下載檔開始安裝:
接著按幾次「Next」後就安裝完成。啟動後,不會看到最上方的功能表,請按下圖紅框處,切換成「一般模式」,才能看到功能表,重新啟動 Thonny。
(3) 執行Thonny Python IDE程式,再按住開發板 BOOTSEL 按鈕不要放開,然後將 Pico 插上 Micro USB,USB 另一端接在電腦,連接 Pico 後,鬆開 BOOTSEL 按鈕。
(4) 選擇功能表「工具」→「選項」→「直譯器」,如下圖:選擇「MicroPython(Raspberry Pi Pico)」。
(5) 繼續按下「安裝或更新韌體」,出現以下視窗後按下「安裝」,這時會下載 UF2 檔案並進行安裝。
(6) 安裝完成會出現以下畫面,這時就可以開始使用 MicroPython 控制 Pico 了。
上述的兩個方法,將 UF2 上傳完成後,可以透過立即互動的方式來與開發板溝通,這個方法稱做(REPL,Read Evaluate Print Loop),亦即是以直譯的方式,透過 IDE編譯環境來直接控制開發板,這有個好處是,它能立刻對所下的指令立即做出回應。
按下綠色的圖示「執行目前程式」即可開始編譯並上傳結果。有關 Thonny 編譯環境圖示的意義,如下圖說明。
按下「執行目前程式」時,如果尚未存檔,會出現儲存程式的視窗,記得如果不是特殊用途,檔案名稱不要命名為 boot.py 或 main.py,稍後說明這兩個檔名的用途。
通常會將程式儲存在電腦的硬碟中,或是直接儲存在「Raspberry Pi Pico」的 Flash 記憶體中,可依個人的需求而定。
在實作過很多個 Arduino 和 Raspberry Pi的文章後,對於這個開發板很感興趣,想買來測試一下這個新開發板的功能。找了一下銷售通路,因缺晶片沒有庫存,最快要等到 5 月底,於是上露X找了有現貨的賣家買了一片,就是下圖中的 Pico,尚未銲上接腳。
過去的樹莓派開發板(Pi1 - Pi4, Zero)都是可以插 SD 卡及搭配周邊輸出(HDMI),所需的耗電量較大,即是是 Pi Zero 也比一般的開發板(如STM32或Arduino)耗電許多,再加上 Linux 作業系統對單一引腳控制不易等問題,不適合用來作為微控制器。許多開發者僅將 Raspberry Pi 搭配微控制器,讓 Raspberry Pi負責較高階的運算、網路及資料儲存等功能,藉以收集前端微控制器送來的數位/類比控制的感測值。樹莓派基金會為了解決這個問題,推出自行設計的 RP2040 微控制器,藉以補足這項不足。樹莓派基金會也銷售 RP2040 給電子零組件供應商,供應商推出自行設計的開發板,如 SparkFun Pro Micro - RP2040、Pimoroni Tiny 2040 及Adafruit Feather RP2040,其價格根據網站顯示也比樹莓派基金會推出的 Pico 貴很多。RP2040 這個 IC 的編號命名是有規則的,如下圖說明。
RP2040 在其內部記憶體中具備 MicroPython 接口和 USB 快閃記憶體格式(UF2)引導程序,這意味著Pico可以直接處理通過 IDE 上傳的 Python 代碼。有關Raspberry Pi Pico 規格如下:
- 處理器: RP2040 Dual-core Arm Cortex-M0+(可達 133 MHz)
- SRAM記憶體: 264KB on-chip
- Flash: 2MB
- GPIO: 26 multifunction GPIO pins(3.3V 準位) 包含 3 analogue inputs
- I/O: UART x2; SPI x2; I2C x2; PWM x16
- USB: USB 1.1 x1(controller and PHY with host and device support)
- PIO: Programmable I/O (PIO) x8
- 感測器: Temperature; RTC
- 電源: 1.8–5.5V DC(microUSB)
- 大小: 21 mm × 51 mm
看到這裡,你會發現 Raspberry Pi Pico 沒有藍芽跟 WiFi,其實這也是要跟 Pi Zero W有所區隔,如果需要這兩項功能的可以選擇 Zero,沒有需求的,選擇 Pico 就足夠了。Pi Pico有 40 支引腳,排針及功能圖如下:
開發板上的 IC 及零件,可參考下圖:
簡單瞭解 Pico 的規格後,接下來要繼續進行初次安裝。這裡的安裝以 Python 開發環境為例,如使用 C 語言進行開發,需在 C 語言開發環境進行設定。Pyhhon開發環境下的安裝的方法有兩種,一是直接下載檔案進行更新,二是透過 Thonny Micropython IDE更新。
[安裝方法一:上傳UF2檔]
UF2是由 Microsoft 為 PXT(Programming Experience Toolkit)開發的一種文件格式(也稱為 Microsoft MakeCode),特別適用於通過大容量存儲(Mass Storage Class,亦即可移除式的快閃儲存裝置)刷新微控制器,Pico就是使用這個格式來溝通,如何將 UF2 檔案上傳到 Pico?步驟如下:(1) 到 RP2040 網站 下載 MicroPython UF2 檔案。如下圖紅色框處:
(2) 按住開發板 BOOTSEL 按鈕不要放開,然後將 Pico 插上 Micro USB,USB 另一端接在電腦,連接 Pico 後,鬆開 BOOTSEL 按鈕。
(3) 這時可以看到多個一個磁碟機(下圖左),它將作為稱為 RPI-RP2 的大容量存儲設備,大小有128MB(下圖右,128MB只是一個外觀,實際上不是存儲設備 RAM 或快閃記憶體)。還有兩個檔案:包含 UF2 引導程序和版本的字符串描述 Info_UF2.TXT 及 重新定導向有關 RP2040 網站的資訊:Index.htm。
(4) 將 MicroPython UF2 檔案按住拖放到 RPI-RP2 磁碟機內。這時 Pico 將會重新啟動。這樣就可以正常運行 MicroPython 了。
[安裝方法二:使用Micropython IDE:Thonny]
(1) 到 Thonny 官方網站 下載 Thonny Python IDE程式。(2) 安裝 Thonny Python IDE程式
執行下載檔開始安裝:
接著按幾次「Next」後就安裝完成。啟動後,不會看到最上方的功能表,請按下圖紅框處,切換成「一般模式」,才能看到功能表,重新啟動 Thonny。
(3) 執行Thonny Python IDE程式,再按住開發板 BOOTSEL 按鈕不要放開,然後將 Pico 插上 Micro USB,USB 另一端接在電腦,連接 Pico 後,鬆開 BOOTSEL 按鈕。
(4) 選擇功能表「工具」→「選項」→「直譯器」,如下圖:選擇「MicroPython(Raspberry Pi Pico)」。
(5) 繼續按下「安裝或更新韌體」,出現以下視窗後按下「安裝」,這時會下載 UF2 檔案並進行安裝。
(6) 安裝完成會出現以下畫面,這時就可以開始使用 MicroPython 控制 Pico 了。
上述的兩個方法,將 UF2 上傳完成後,可以透過立即互動的方式來與開發板溝通,這個方法稱做(REPL,Read Evaluate Print Loop),亦即是以直譯的方式,透過 IDE編譯環境來直接控制開發板,這有個好處是,它能立刻對所下的指令立即做出回應。
[讓控制板LED閃爍]
第一次使用開發板,不能免俗的還是要來點亮 LED 燈,稍做變化一下改讓 LED 閃爍,可在Thonny 編輯視窗輸入以下程式。from machine import Pin import time led = Pin(25, Pin.OUT) while True: led.value(1) # LED亮 time.sleep(1) # 等待1秒 led.value(0) time.sleep(1) # LED滅
按下綠色的圖示「執行目前程式」即可開始編譯並上傳結果。有關 Thonny 編譯環境圖示的意義,如下圖說明。
按下「執行目前程式」時,如果尚未存檔,會出現儲存程式的視窗,記得如果不是特殊用途,檔案名稱不要命名為 boot.py 或 main.py,稍後說明這兩個檔名的用途。
通常會將程式儲存在電腦的硬碟中,或是直接儲存在「Raspberry Pi Pico」的 Flash 記憶體中,可依個人的需求而定。
張貼留言