1.是,樹莓派
1.1什么是樹莓派Pico
作為樹莓派最新的產品,發布于2021年1月20日的樹莓派Pico是基于樹莓派那邊自主研發的一款雙核MCU RP2040,這一個MCU提供了超低功耗、極低的 I/O 延遲,講白了就是一款類似STM32系列的產品,

所以它的水平我也是很好奇,這次就買了試了一下,淘寶上買是37元左右,但最近也追漲到42元了,

1.2主要特性
RP2040 芯片是 7×7mm QFN-56 封裝的,具體規格引數如下:
– 雙核 Arm Cortex-M0 + @ 133MHz
– 芯片內置 264KB SRAM 和 2MB 的板載閃存
– 通過專用 QSPI 總線支持最高 16MB 的片外閃存
– DMA 控制器
– 30 個 GPIO 引腳,其中 4 個可用作模擬輸入
– 2 個 UART、2 個 SPI 控制器和 2 個 I2C 控制器
– 16 個 PWM 通道
– USB 1.1 主機和設備支持
– 8 個樹莓派可編程 I/O(PIO)狀態機,用于自定義外圍設備支持
– 支持 UF2 的 USB 大容量存盤啟動模式,用于拖放式編程
2.與眾不同的編程方式
給樹莓派Pico撰寫軟體的程序真的很特別,雖然在STM32 Nucleo上也可以體會到,但它依然很有意思,具體怎么樣,我們先從MicroPython了解下
2.1MicroPython
樹莓派Pico支持兩種語言,一種是Python一種是常用的C++,此Python和PC上所用的有點區別,名稱為MicroPython,就是能在這類單片機上運行的精簡高效優化后的Python3(下圖用了谷歌翻譯)

支持的有STM32,樹莓派,pyboard,microBit等等,不過有個點是支持MicroPython的板子都挺貴的可能不太符合社會主義,

通常來說,MicroPython使用MU Editor這個編輯器來撰寫并編譯,不過和其他編輯器比如Arduino IDE比較,Mu這個實在很冷門,我在百度上找到的都是兩年前的版本

在官方網站 https://codewith.mu/en/download 中可以下載到最新的版本,并且可以看出來這一個基于Qt的簡單編輯器有著極佳的多平臺特性

后面發現最新的就是2019年就有的1.1.0

第二種選擇就是使用VSCODE,但是VSCODE也有個問題就是目前兼容性不佳,所以不考慮

還有一種選擇是Thonny IDE,這同樣是一個通用的友好又簡單的界面,同樣很適合用來撰寫代碼
2.2 Mu的使用和軟體的撰寫
打開后會提供幾個選項,用于選擇你要撰寫的代碼運行的平臺

隨便寫一個Hello World,然后點擊運行,不過軟體會先讓你保存這一段代碼

因為集成了Python所以Mu這個軟體的使用很簡單下載好就行,不用額外的配置Python環境,非常方便,

2.3在樹莓派Pico上使用MicroPython
如果要在樹莓派Pico上使用MicroPython那么要做兩手準備
首先和許多8bit的MCU產品,比如說Arduino不一樣的一點是,樹莓派Pico有一個特性就是支持拖拽檔案然后執行,為了能支持MicroPython我們要先把這個韌體塞進去,
單獨的下載地址:https://download.csdn.net/download/u012388993/15501215?spm=1001.2014.3001.5501
連接樹莓派到電腦上后,會出現一個大容量存盤設備(當然并不大),你可以把編譯好的檔案拖過去,然后點按上面的按鈕,這是一個“啟動選擇”按鈕而不是RST復位按鍵

這樣,就可以執行剛剛拷貝的這個檔案了,然后我們的樹莓派會被識別成一個串口的設備

之后我們要換用另一個IDE,Thonny Python IDE,這是官方推薦的的開發工具,

最新版本的Thonny Python IDE我放在這里:
https://github.com/thonny/thonny/releases/download/v3.3.5/thonny-3.3.5.exe
如果下載慢可以試試我上傳的檔案:
https://download.csdn.net/download/u012388993/15512650
安裝上沒有什么難處直接裝Thonny Python IDE就可以,不用復雜的配置


目前最新版內置的是Python 3.7.9

2.4 實作一個PWM呼吸燈
PWM就是脈沖調制,具體在這里不做詳細說明
Pico板載有一個LED燈,而這個LED燈就是接在Pin15上面,實作脈沖調制的代碼如下
from machine import Pin, PWM
from time import sleep
pwm = PWM(Pin(25)) #Pico LED Pin
pwm.freq(1000) #設定PWM的頻率
while True: #回圈
for duty in range(65025):
pwm.duty_u16(duty)
sleep(0.0001) #延遲100us
for duty in range(65025, 0, -1):
pwm.duty_u16(duty)
sleep(0.0001)
也有更簡單的,實作LED點燈,我就一筆帶過了
?
from machine import Pin
led = Pin(25, Pin.OUT)
led.toggle()
可能此時會看不到如何設定串口號,以及軟體的配置等等,這是因為這時候IDE是在一般模式而不是常規模式下,點擊右上角的【切換至一般模式】

在切換到一般模式后可以看到任務欄出現了

然后再設定這邊選擇這個MicroPython(Raspberry Pi Pico)

完成配置后就可以點擊綠三角運行

最終實作的效果

3總結
樹莓派Pico的使用和以往我用的那些都有非常巨大的差別,最明顯的一點就是樹莓派Pico編程這塊,在加載了MicroPython的韌體后,不再是編譯而是直接實作了實時的修改,這是讓我覺得驚嘆不已的,因為這意味著我可以隨時的變動數值并且運行,
直接通過Python Shell就可以通過簡單陳述句控制埠,這一點在以往的設備上是不被原生支持的,而且Python確實特別簡單,可以說是非常不錯的體驗

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/265478.html
標籤:其他
