在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣使用MicroPython在樹莓派Pico上進行編程呢?

jf_zGNBEhbi ? 來源:趣無盡 ? 2023-08-17 09:39 ? 次閱讀

Python 編程語言是為臺式機、筆記本電腦和服務(wù)器等計算機系統(tǒng)開發(fā)的。像 Raspberry Pi Pico 這樣的微控制器板更小、更簡單、內(nèi)存也更小,這意味著它們不能運行與大型 Python 語言相同的 Python 語言。這就是 MicroPython 誕生的意義。

MicroPython 最初由 Damien George 開發(fā),于 2014 年首次發(fā)布,是一種專門為微控制器開發(fā)的 Python 兼容編程語言。它包含了許多主流 Python 的特性,同時添加了一系列新的特性,旨在利用 Raspberry Pi Pico 和其他微控制器板上燈可用的設(shè)備。如果你以前與 Python 編程過,你會立即發(fā)現(xiàn) MicroPython 很熟悉。如果沒有,不要擔心,這是一個學習起來很容易的語言!

Thonny Python IDE 介紹

53399d7a-3c4d-11ee-ac96-dac502259ad0.jpg

A 工具欄 – 工具欄提供基于圖標的快速訪問系統(tǒng),用于常用的程序功能,如保存、加載和運行程序。

B 腳本區(qū)域 – 腳本區(qū)域是編寫 Python 程序的位置。它被分割成你的程序的主要區(qū)域和 顯示行數(shù)的少量側(cè)邊距。

C Python 控制臺 – Python 控制臺允許你鍵入單個指令,當你按下回車鍵時,這些指令就會運行,并提供有關(guān)運行程序的信息。這也稱為 REPL,用于「讀取、評估、打印和循環(huán)」。

D 解釋器 – Thonny 窗口的右下角顯示并允許你更改當前的 Python 解釋器——用于運行你的程序的 Python 版本。

Thonny 連接到 Pico

在開始用 MicroPython 編程之前,需要設(shè)置所謂的集成開發(fā)環(huán)境(IDE)。Thonny,一個流行的 Python 和 MicroPython IDE,已經(jīng)預裝在 Raspberry Pi OS 上。如果你在另一個 Linux 發(fā)行 版、Windows 或 macOS 上使用Pico,請打開 Web 瀏覽器,訪問 thonny.org,并單擊頁面頂部的下載鏈接,下載用于你的操作系統(tǒng)的 Thonny 和 Python 包安裝程序。

作為一個集成的開發(fā)環(huán)境,Thonny 將你需要編寫或開發(fā)的所有不同工具聚集在一起或集成到單個用戶界面或環(huán)境中。有許多不同的 IDE——有些允許你使用多種不同的編程語言進行開發(fā),而另一些則像 Thonny 一樣專注于單一語言。

當你的 Pico 已經(jīng)連接到樹莓派時,點擊 Thonny 窗口的右下角,上圖區(qū)域 D。這里顯示了你當前的解釋器,它負責接受你輸入的指令,并將它們轉(zhuǎn)換成計算機或微控制器可以理解和運行的代碼。通常解釋器是在 Raspberry Pi 上運行的 Python 的副本,但是為了在你的 Pico 上運行你的程序,需要對它進行修改。

在顯示的列表中,查找「MicroPython(Raspberry Pi Pico)」,然后單擊它。如果你在列表中看不到它,請仔細檢查你的 Pico 是否正確插入 microUSB 數(shù)據(jù)線,以及 micro USB 數(shù)據(jù)線是否正確插入到樹莓派或計算機。

535da486-3c4d-11ee-ac96-dac502259ad0.jpg

看看 Thonny 窗口底部的 Python 控制臺: 你會看到它現(xiàn)在輸出顯示「MicroPython」,并告訴你,它正在運行在「Raspberry Pi Pico」。恭喜你,你已準備好了編程環(huán)境。

第一個 MicroPython 程序:Hello, World!

開始編寫第一個程序時,請單擊 Thonny 窗口底部的 Python Shell 區(qū)域,只需在底部「>>>」提示符的右側(cè),輸入以下指令之后回車。

print("Hello, World!")

53663740-3c4d-11ee-ac96-dac502259ad0.jpg

你會看到你的程序立即開始運行:Python 將在相同的 Shell 區(qū)域響應(yīng),并打印出「Hello, World!」,這是因為 Shell 與運行在你的 Pico 上的 MicroPython 解釋器直接相連,后者的工作是查看你的指令并解釋它們的含義。這就是所謂的互動模式,你可以把它想象成與某人面對面的對話:你剛說完話,對方就會做出回應(yīng),然后等著你接下來說什么。

使用 Shell 為 Pico 編程有點像電話對話:當你按下回車鍵時,你的指令將通過 microUSB 線發(fā)送到運行在 Pico 上的 MicroPython 解釋器;解釋器查看你的指令并執(zhí)行,然后通過 microUSB 線把執(zhí)行結(jié)果發(fā)送回給 Thonny。

不過,你不必通過 Shell 在交互模式下編程。點擊 Thonny 窗口中間的腳本區(qū)域,然后再次輸入你的程序:

print("Hello, World!")

當你這次按下回車鍵時,除了在腳本區(qū)域中獲得新的空白行外,什么都沒發(fā)生。要使此版本的程序工作,你必須單擊 Thonny 工具欄中的「運行」圖標,或單擊「運行」菜單,然后單擊「運行當前腳本」。

你會被詢問是否要保存程序到這臺電腦,即 Raspberry Pi,或「MicroPython device」,即 Pico。單擊「MicroPython device」,然后鍵入一個文件名,如 Hello_World.py,然后單擊 OK 按鈕。

5390ea4e-3c4d-11ee-ac96-dac502259ad0.jpg

一旦你的程序保存好,它就會自動在你的 Pico 上運行。你會看到兩條消息出現(xiàn)在 Shell 區(qū) 域的底部的 Thonny 窗口:

>>> %Run -c $EDITOR_CONTENT
Hello, World!

其中第一行是 Thonny 的指示,告訴 Pico 上的 MicroPython 翻譯運行腳本區(qū)域的內(nèi)容:「EDITOR_CONTENT」。第二個是程序的輸出——你讓 MicroPython 打印的信息。恭喜你!現(xiàn)在你 已經(jīng)以交互模式和腳本模式寫了兩個 MicroPython 程序,并成功地在你的 Pico 上運行了它們!

還有一件事需要解決,就是重新加載你的程序。按窗口右上角的「X」鍵關(guān)閉 Thonny,然后再次加載它。這次不是編寫一個新程序,而是點擊 Thonny 工具欄中的「Open」圖標。

就像當你保存你 的程序時,你會被詢問是否要保存到「This computer」或你的「MicroPython device」。點擊「MicroPython device」,你會看到你已經(jīng)保存到你的 Pico 的所有程序的列表。

在列表中查找 Hello_World.py,單擊選擇它,然后單擊OK。你的程序?qū)⒓虞d到 Thonny,準備好被編輯或你再次運行它。

循環(huán)和代碼縮進

與標準 Python 程序一樣,MicroPython 程序通常從上到下運行。它依次運行每一行,在進入下一 行之前通過解釋器運行它,就像你在 Shell 中逐行輸入它們一樣。

但是,僅僅逐行運行指令列表的程序并不是很聰明——因此,MicroPython 就像 Python 一樣,有自己的方法來控制程序運行的順序,即縮進。

通過單擊 Thonny 工具欄中的新圖標創(chuàng)建一個新程序。你不會失去現(xiàn)有的程序,相反,Thonny 將在腳本上方的區(qū)域創(chuàng)建一個新的標簽。輸入以下兩行開始你的程序:

print("Loop starting!")
for i in range(10):

第一行向 Shell 輸出一條簡單的消息,就像你的 Hello World 程序一樣。第二行開始一個定義的循環(huán),它將重復-循環(huán)-一個或多個指令的一組次數(shù)。一個變量i被賦值給循環(huán),并給出一系列數(shù)字。range 指令從數(shù)字 0 開始計次,但永遠不會到達數(shù)字 10。冒號告訴 MicroPython 循環(huán)本身從下一行開始。

變量是強大的工具。顧名思義,變量是可以改變的值,或在程序的控制下隨時間變化。最簡單 的說,一個變量有兩個方面——它的名稱和它所存儲的數(shù)據(jù)。在循環(huán)的情況下,變量的名字是「i」,其數(shù)據(jù)由 range 指令設(shè)置——從 0 開始,每次循環(huán)結(jié)束并重新開始時增加 1。

為了在循環(huán)中真正包含一行代碼,它必須縮進——從腳本區(qū)域的左側(cè)移動進來。下一行以四個 空格開始,當你按下第二行回車后,Thonny 將自動添加這些空格。現(xiàn)在輸入:

print("Loop number", i)

與程序中的其他行相比,這四個空格將這行推入內(nèi)部。縮進是 MicroPython 區(qū)分循環(huán)外部指令 和循環(huán)內(nèi)部指令的方式:縮進的代碼構(gòu)成了循環(huán)內(nèi)部,被稱為嵌套代碼。

你將注意到,當你在第三行末尾按下回車時,Thonny 會自動縮進下一行——假設(shè)它是循 環(huán)的一部分。要刪除這個縮進,只需在輸入第四行之前按下退格鍵一次:

print("Loop finished!")

你的四行程序現(xiàn)在已經(jīng)完成。第一行位于循環(huán)之外,并且只運行一次;第二行設(shè)置循環(huán);第三個循
環(huán)位于循環(huán)內(nèi)部,每次循環(huán)運行一次;第四行還是在循環(huán)外面。

print("Loop starting!")
for i in range(10):
print("Loop number", i)
print("Loop finished!")

單擊 Run(運行)圖標,選擇通過點擊「MicroPython device」選擇將程序保存在 Pico 上,并將其命名為 Indentation.py。該程序?qū)⒃诒4婧罅⒓催\行,查看 Shell 區(qū)域的輸出。

Loop starting!
Loop number 0
Loop number 1
Loop number 2
Loop number 3
Loop number 4
Loop number 5
Loop number 6
Loop number 7
Loop number 8
Loop number 9
Loop finished!

53a6b928-3c4d-11ee-ac96-dac502259ad0.jpg

縮進是 MicroPython 的一個強大部分,也是程序不能按預期工作的最常見原因之一。當尋找程 序中的問題時,一個稱為調(diào)試的過程,總是反復檢查縮進,特別是當你開始在循環(huán)中嵌套循環(huán) 時。

MicroPython 還支持無限循環(huán),它可以無限循環(huán)。要將程序從確定循環(huán)變?yōu)闊o限循環(huán),請編輯 第 2 行:

while True:

如果你現(xiàn)在單擊 Run 圖標,你將得到一個錯誤:名稱「i」沒有定義。這是因為你已經(jīng)刪除了為
變量「i」創(chuàng)建并賦值的行。要修復這個問題,只需編輯第 3 行,這樣它就不再使用變量了:

print("Loop running!")

再次點擊 Run 圖標,如果你動作快,你會看到「Loop starting! 」消息后面跟著一串永無休止的「Loop running!」消息。「Loop finished!」消息將永遠不會打印,因為循環(huán)沒有結(jié)束。每次 Python 打印完「Loop running!」消息時,它返回到循環(huán)的開始處并再次輸出。

53b54588-3c4d-11ee-ac96-dac502259ad0.jpg

點擊 Thonny 工具欄上的 Stop 圖標,告訴程序停止正在做的事情,即中斷程序并重新啟動 MicroPython 解釋器。你將看到 Shell 區(qū)域中出現(xiàn)一條消息,程序?qū)⑼V梗粫竭_第 4 行。

條件和變量

和所有編程語言一樣,MicroPython 中的變量的存在不僅僅是為了控制循環(huán)。點擊 Thonny 工具欄上的 New 圖標啟動新程序,然后在腳本區(qū)域輸入以下內(nèi)容:

user_name = input ("What is your name? ")

點擊 Run 圖標,通過點擊「MicroPython device」選擇將程序保存在 Pico 上,并將其命名為 Name_Test.py,并觀察 Shell 區(qū)域中發(fā)生了什么:將詢問你的姓名。在 Shell 區(qū)域中輸入你的名字,然后回車。因為這是你的程序中唯一的指令,其他的都不會發(fā)生。

如果想要對放入變量中的數(shù)據(jù)進行實際操作,則需要在程序中增加更多行。

53e1fbb4-3c4d-11ee-ac96-dac502259ad0.jpg

為了讓你的程序用這個名字做一些有用的事情,從第 2 行開始輸入一個條件語句:

if user_name == "Clark Kent":
print("You are Superman!")
else:
print("You are not Superman!")

記住,當Thonny看到你的代碼需要縮進時,它會自動這么做——但它不知道什么時候你的代碼 需要停止縮進,所以你必須自己刪除空格。

單擊 Run 圖標并在 Shell 區(qū)域中鍵入你的名字。除非你的名字恰好是「Clark Kent」,否則你會看到「You are Superman!」再次點擊 Run,這次輸入 Clark Kent 的名字,確保寫的和程序中完全一樣,用大寫的 C 和 K。這次,程序承認你實際上是超人。

5415c0d4-3c4d-11ee-ac96-dac502259ad0.jpg

「==」符號告訴 Python 進行直接比較,查看變量 user_name 是否與程序中的文本(即字符串)匹配。

如果你處理的是數(shù)字,你還可以進行其他的比較「>」查看一個數(shù)字是否大于另一個數(shù)字,「<」查看它是否小于,「>=」查看它是否大于或等于,「<=」查看它是否小于或等于。還有「!=」,意思是不等于,是「==」的反義詞。這些符號在技術(shù)上稱為比較運算符。

注意:使用變量的關(guān)鍵是了解「=」,與「==」兩者的區(qū)別。記住,「=」的意思是「使這個變量等于這個值」,而「==」的意思是「檢查變量是否等于這個值」。把它們混在一起肯定會導致程序無法工作!比較操作符也可以在循環(huán)中使用。刪除第 2 行到第 5 行,然后在它們的位置輸入以下內(nèi)容:

while user_name != “Clark Kent”:
print(“You are not Superman – try again!”)
user_name = input(“What is your name? “)
print(“You are Superman!”)

再次點擊 Run 圖標。這一次,程序不會退出,而是會不斷詢問你的名字,直到確認。有點像一個非常簡單的密碼。要退出循環(huán),可以在腳本區(qū)域輸入「Clark Kent」,或者單擊 Thonny 工具欄上的 Stop 圖標。

543cd55c-3c4d-11ee-ac96-dac502259ad0.jpg

祝賀你!你現(xiàn)在知道如何使用條件語句和比較操作符了!






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7923

    瀏覽量

    153810
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4825

    瀏覽量

    86294
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    1956

    瀏覽量

    107050
  • USB數(shù)據(jù)線
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    5070
  • macOS系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    1633

原文標題:使用 MicroPython 在樹莓派 Pico 上編程

文章出處:【微信號:趣無盡,微信公眾號:趣無盡】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    樹莓Pico RP2040上怎樣使用MicroPython

    RP2040 是一款由樹莓公司設(shè)計的 32 位雙核 ARM Cortex-M0+ 微控制器芯片,于 2021 年 1 月發(fā)布,作為樹莓 Pico
    的頭像 發(fā)表于 11-08 14:29 ?4749次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b> RP2040上<b class='flag-5'>怎樣</b>使用<b class='flag-5'>MicroPython</b><b class='flag-5'>呢</b>?

    MicroPython樹莓的區(qū)別是什么?

    ` 關(guān)于micropython樹莓,很多人會說micropython小巧,并且python直接接觸硬件層面,但是樹莓
    發(fā)表于 08-22 09:54

    樹莓pico入門學習筆記(一)相關(guān)資料推薦

    樹莓pico入門學習筆記選擇自己熟悉的編程語言樹莓pic
    發(fā)表于 07-01 09:28

    樹莓pico如何入門?

    樹莓pico如何入門?
    發(fā)表于 10-13 08:11

    怎么實現(xiàn)樹莓Pico電機運動控制MicroPython+pioasm編程

    怎么實現(xiàn)樹莓Pico電機運動控制MicroPython+pioasm編程
    發(fā)表于 10-27 06:37

    如何為Pico燒錄Micropython固件

    燒錄固件務(wù)必按順序操作!否則會燒錄失敗!(1)一直按住樹莓Pico板上的BOOTSEL按鍵,將樹莓P
    發(fā)表于 01-20 08:06

    樹莓Pico的相關(guān)資料推薦

    1月22日,樹莓基金會最新發(fā)布一款低成本、高性能的微控制器開發(fā)板Raspberry Pi Pico,新產(chǎn)品相比普通樹莓體積更小,售價僅4
    發(fā)表于 02-07 07:37

    怎樣去使用MicroPython軟件

    怎樣去使用MicroPython軟件樹莓Raspberry Pi Pico有何性能
    發(fā)表于 02-10 07:22

    樹莓PICO:使用rt-thread micropython軟件包聯(lián)網(wǎng)獲取天氣

    1、樹莓PICO上實現(xiàn)http請求demo  項目描述  本項目使用樹莓
    發(fā)表于 11-14 16:19

    【BPI-Pico-RP2040 開發(fā)板】+MicroPython初體驗

    使用MicroPhthon進行開發(fā),同時MicroPhthon又是自己沒有接觸到領(lǐng)域,所以本篇文章Pico上運行MicroPython,同時進行
    發(fā)表于 03-18 18:42

    樹莓Raspberry Pi Pico快速上手教程之MicroPython使用說明

    第一步:刷固件下載測試固件到電腦, 解壓出來。其中有兩個uf2文件, 其中的pico_micropython_20210121.uf2文件為MicroPython固件按住樹莓
    發(fā)表于 12-07 14:06 ?6次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>Raspberry Pi <b class='flag-5'>Pico</b>快速上手教程之<b class='flag-5'>MicroPython</b>使用說明

    樹莓pico入門學習筆記(一)

    樹莓pico入門學習筆記選擇自己熟悉的編程語言樹莓pic
    發(fā)表于 12-17 18:42 ?21次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>pico</b>入門學習筆記(一)

    基于樹莓pico的可編程游戲手柄設(shè)計

    方案介紹組件12x12x7.3mm 瞬時觸覺按鈕按鈕樹莓Pico通用 D1286464 OLED 顯示屏操縱桿模塊 PS210 歐姆電阻?組裝將樹莓
    發(fā)表于 12-26 15:10 ?0次下載

    基于樹莓Raspberry Pi Pico的自動澆花系統(tǒng)

    土壤濕度傳感器 x 1?4. RGB LED x 15. 面包板 x 16. 移動電源 x 1軟件組件1. MicroPython2. Thonny IDE第 1步-設(shè)置樹莓 Pico
    發(fā)表于 12-27 15:34 ?5次下載

    樹莓Pico開發(fā)板擴展ESP01S無線WiFi模塊通信實踐

    介紹樹莓Pico開發(fā)板擴展ESP01S無線模塊建立WiFi連接,并采用AT命令和MicroPython語言實現(xiàn)樹莓
    發(fā)表于 05-31 15:59 ?3次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b>開發(fā)板擴展ESP01S無線WiFi模塊通信實踐
    主站蜘蛛池模板: 日本一区二区在线视频 | 中文字幕视频一区 | 亚洲区视频在线观看 | 图片区网友自拍另类图区 | 精品一区 二区三区免费毛片 | 一级毛片女人喷潮 | 色网站综合| 亚洲精品系列 | 精品国产欧美一区二区最新 | 午夜影视啪啪免费体验区入口 | 国产在线操 | 午夜视频黄色 | 国产一级久久免费特黄 | 美女视频大全美女视频黄 | 男人天堂网在线 | 午夜视频你懂的 | 免费在线黄色网 | 欧美精品久久久久久久小说 | 久久99精品国产麻豆宅宅 | 日日干天天爽 | 黑人一区二区三区中文字幕 | 一级看片免费视频囗交 | 播色屋| 欧美人与牲动交xxxx | 亚洲成人黄色网址 | 免费看又爽又黄禁片视频1000 | 男人边吃奶边爱边做视频日韩 | 狠狠色丁香久久综合网 | 婷婷综合五月中文字幕欧美 | www天堂网| 综合亚洲一区二区三区 | 三级网在线 | 国产性夜夜性夜夜爽91 | 大美女久久久久久j久久 | 欧美人与动另类在线 | 手机看片国产在线 | 欧美精品高清在线xxxx | 欧美女同网站 | 一区二区中文字幕亚洲精品 | 国产你懂的视频 | 国产精品igao在线观看樱花日本 |