電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Pico:ed和Smart Cutebot入門介紹

Pico:ed和Smart Cutebot入門介紹

2023-06-13 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

在本教程中,我將向您介紹Pico:edSmart Cutebot ,并提供一些有關(guān)CircuitPython的提示。這些產(chǎn)品由ELECFREAKS制造,ELECFREAKS 是一家生產(chǎn)和銷售 STEM 電子套件的公司。我們將使用這兩個對象一起使用 CircuitPython 編程語言制作一個用于教育目的的微型機器人。

Pico:ed

Pico:ed 是一個小型開發(fā)板(他的形狀總是讓我想起吃豆人幽靈!)(部分)與最著名的Micro:bit兼容,但具有RaspberryPI RP2040作為微控制器單元 ( MCU )。

poYBAGSAhVuAZUOLAAcSeXQIiZc668.jpg
Pico:ED V2 與 Micro:bit。我都有而且我都喜歡
?

你會注意到我部分地使用了這個詞:你知道我喜歡準確,所以這個詞到期了。

起初我已經(jīng)在 Pico:ed 上寫了一個不同的 MCU:RP2040(雙核 Cortex-M0+ @133MHz,2MB 閃存可擴展,265kB RAM )而不是 Nordic nRF51822(Cortex-M0 @16MHz,256kB閃存,16kB RAM )所以,從數(shù)字上看,Pico:ed 上使用的 MCU 更強大。在 Micro:bit 上使用 Microsoft Makecode:這允許圖形化的類似 Scratch 的環(huán)境、Python 或 Javascript。在 Pico:ed 上,我們可以使用常見的 RP2040 Python分支(MicroPythonCircuitPython )或C++ 。

CircuitPython 是最佳選擇,因為 ELECFREAKS 和 Adafruit 用我們需要的所有庫制作了 CircuitPython 固件。到 Micro:bit。這些功能是 IMU(慣性測量單元)和藍牙無線電。

個人考慮很少:Micro:bit 上的藍牙是使用的 MCU 的一個功能,因為 Nordic nRF51822 是用嵌入式藍牙模塊構(gòu)建的。如果您需要這些功能,請考慮始終可以使用外部板添加 IMU 或無線電模塊。

另一方面,Pico:ed 擁有 Micro:bit 沒有的其他很酷的東西。Micro:bit 上的 LED 矩陣顯示器是使用 5x5 (25) 個 LED 制成的,而在 RP2040 兄弟上,我們有一個 7x17 (119) LED 矩陣,使用更?。ǜ芗┑?LED;此外,這些 LED 由 IS31FL3731 IC 驅(qū)動,它可以獨立地對每個 LED 進行 PWM:這將帶來更準確和可讀的滾動文本和動畫以及灰度圖像!最后,在 Pico:ed 上,我們還有一個很酷的蜂鳴器來制作聲音和音樂。

底部的邊緣連接器采用 Micro:bit 外形,因此該板與大多數(shù) Micro:bit 板兼容。

聰明的可愛機器人

Smart Cutebot 是一個采用經(jīng)典配置的微型機器人平臺:帶有后樞軸點(投球)的差動驅(qū)動。該平臺旨在與 Micro:bit 或 Pico:ed 配對,用于制作非常適合兒童和教育目的的小型機器人(或僅用于學習如何在實際應(yīng)用程序中使用 Python - 實際上你不會需要像孩子一樣玩這些東西!)。

Cutebot 的特點是:

  • 用于 Micro:bit 或 Pico:ed 的邊緣連接器
  • 2 個全封閉式減速電機 + 后置滾珠腳輪
  • 前面有 2 個大 (10mm) RGB LED
  • 2 個 RGB LED(Neopixel)在底盤下方,在車輪前面
  • 可拆卸式 HC-SR04 超聲波傳感器
  • 2 IR 光反射器位于底部,用于巡線
  • 一個紅外線接收器,用于使用遙控器控制機器人
  • 機器人正面 (I2C) 和背面的擴展接頭用于連接配件
  • 使用 3 節(jié) AAA 電池的電池座供電(有使用鋰聚合物的可選附件)
  • 盒子里還有一條紙軌(白底黑線),可用于線跟隨器模式

Cutebot 已經(jīng)組裝好,您只需將微控制器板插入插槽、超聲波傳感器和電池座。當我在 Instagram 上發(fā)布這個機器人的帖子時,一些人聯(lián)系我說已經(jīng)安裝好的電路板在組裝階段并沒有帶來樂趣。是的,這是一個正確的觀點,但考慮到整個機器人的重量約為 120 克(包括電池和微控制器板)并且適合一只手。

poYBAGSAhV6AVhTMAAIWqMaVnIE417.jpg
Smart Cutebot 重量和尺寸。它很小
?

為了達到這個體積,機器人是使用 SMD 組件制造的,并且不容易在家中或?qū)W校組裝(還考慮到由于不正確的操作而導(dǎo)致的故障)。最后一個特點:Cutebot 真的很安靜!移動時幾乎聽不到。

準備 Pico:ed

首先,您必須在 Pico:ed 板上上傳CircuitPython 解釋器。拿起 Pico:ed 并按住Bootsel按鈕。Bootsel 按鈕是板背面微型 USB 連接器左側(cè)的按鈕:

pYYBAGSAhWGAIBhBAAJtklnNo20700.jpg
Bootsel:先按住此按鈕再為電路板供電,電路板將進入引導(dǎo)加載程序模式,允許您以 UF2 格式上傳新固件
?

在按住該按鈕的同時,使用 USB 電纜將電路板連接到計算機:等待幾秒鐘,必須出現(xiàn)一個名為RPI-RP2的新存儲單元。

poYBAGSAhWOARg15AAALGa_fcJI837.png
當您在引導(dǎo)加載程序模式下連接每個基于 RP2040 的板時,RPI-RPI2 單元出現(xiàn)在 PC 上
?
獎勵信息這是所有 Raspberry Pi RP2040 開發(fā)板的工作方式。使用 Python 分支和 C++ 對其進行編程的唯一區(qū)別在于,對于 Python,您僅在第一次上傳 Python 解釋器,然后您可以將源代碼(其中許多)作為 .py 文件(不在本 RPI-RP2 單元中上傳但另一個 circuitpython 解釋器將創(chuàng)建),而在 C++ 中編程時,您將編譯代碼以獲得要在引導(dǎo)加載程序模式下上傳的.uf2文件(C/C++ 是一種編譯語言)。

現(xiàn)在您必須上傳 CircuitPython 解釋器。您可以從 CircuitPython 官方網(wǎng)站下載。這是鏈接

獎勵信息使用這個用于 Pico:ed 的官方 Adafruit Circuitpython 解釋器,你不需要上傳庫來使用一些功能,例如 led 驅(qū)動器 IS31FL3731,或者蜂鳴器,例如:包括這個特定板所需的一切。這些功能稱為FrozenModules :它們是已嵌入 CircuitPython 解釋器的庫。包含的模塊有:adafruit_is31fl3731、adafruit_motor、adafruit_ticks、asyncio、elecfreaks_music、neopixel、picoed

下載.uf2文件后,您只需將該文件拖放到計算機上的RPI-RPI2存儲單元上。等待幾秒鐘:RPI-RPI2單元將消失,一個名為CIRCUITPY的新單元將出現(xiàn)。

在啟動時(我的意思是不按 bootsel 按鈕),您在引導(dǎo)加載程序模式下上傳的.uf2開始:在這種情況下將是 CircuitPython 解釋器,它將使電路板作為 CIRCUITPY 單元可見在這里您可以上傳具有.py擴展名。CircuitPython 解釋器啟動后,它將搜索一個特定的命名文件(我們稍后會看到)以使其啟動,否則它什么都不做。

現(xiàn)在您可以開始用 Circuitpython 語言編寫代碼并將它們上傳到板上。

即使您可以使用簡單的文本編輯器(Python 程序是簡單的文本文件)執(zhí)行此操作,然后使用拖放操作上傳文件,也開發(fā)了更強大的工具來以安全的方式執(zhí)行此操作,避免損壞文件的內(nèi)容閃存(記住不安全的存儲單元刪除會損壞代碼)并使用稱為REPL 讀取評估打印循環(huán))的功能,該功能允許您從命令行進行一些調(diào)試和啟動程序。

我說過你可以將你的.py文件上傳到創(chuàng)建的內(nèi)存存儲單元上,但是文件不會在開機時自動執(zhí)行。如果你想讓程序在給電路板供電時自動啟動,你必須將其命名為code.txtcode.pymain.pymain.txt - 這是確切的優(yōu)先順序。如果您放置一個名為code.py的文件和另一個名為main.py的文件,則只有code.py會自動啟動。如果您將文件命名為與此不同,您可以使用 REPL 功能啟動它(我們很快就會看到),因此這個平臺對于在同一塊板上存儲許多軟件實驗和調(diào)試非常有用。

我喜歡使用Thonny IDE :它可能是最常用于 Python / Python 分支的,我喜歡它的工作方式(另一個類似的編輯器是Mu。Mu是 Adafruit 的建議)。

下載Thonny(我在上面放的鏈接是Github Release page——在那里你可以下載一個不需要安裝的便攜版本,無論如何你也可以去Thonny官方頁面),安裝/啟動它;現(xiàn)在我們將進行一些快速設(shè)置以使其與我們的 Pico:ed 一起使用。

單擊工具/選項:

pYYBAGSAhWWAbSchAAA_zxTRSCk806.png
?

單擊Interpreter并從下面的列表中選擇CircuitPython (generic) ,然后按 OK:

poYBAGSAhWeAUO9XAACHZE3Ny2Q402.png
每當您將 Thonny 與不同的 RP2040 板一起使用時,您將首先執(zhí)行此操作,無論如何您只會在第一次執(zhí)行此操作。
?

現(xiàn)在使文件外殼窗口可見,因為這些功能對于向開發(fā)板上傳/下載文件以及與 REPL 交互非常有用。單擊“查看”菜單,然后選擇“文件”“外殼”:

pYYBAGSAhWqAUoyWAABeQ42LNM0150.png
?

棘手的設(shè)置都完成了!

為確保 Pico:ed 已連接到 Thonny,shell 窗口中必須出現(xiàn)與此類似的文字(連接電路板并按下Thonny 上的停止按鈕):

pYYBAGSAhWyAQSs3AAAil3VINPc896.png
?

如果顯示一些錯誤,請轉(zhuǎn)到本教程中的故障排除段落。

shell中的那3個>>>是REPL的提示符,等待命令或者準備寫東西

出色地。即使我們上傳的 CircuitPython 解釋器是為使用所有 Pico:ed 功能而制作的,現(xiàn)在我們必須上傳使用 Cutebot 功能所需的庫(用于驅(qū)動電機、使用超聲波傳感器等)。

我說過我們已經(jīng)有一些FrozenModules,是的:這對特定的板有效。Smart Cutebot 是連接到 Pico:ed 的附件板,因此沒有凍結(jié)的模塊,因此我們必須手動添加它們。

從此鏈接下載 cutebot 庫(它是一個名為cutebot.py 的文件)

該鏈接將從所在的 Github 存儲庫以 zip 格式下載庫,并且始終是最新上傳的。該庫的 Github 存儲庫位于此鏈接

如果我們也想使用紅外遙控功能(注意:包裝中不包含紅外遙控),我們還可以從此鏈接下載 Adafruit Circuitpython紅外遙控庫。

讓我們解壓縮文件,我們從下載中需要的唯一文件稱為cutebot.pyadafruit_irremote.py:將它們復(fù)制到計算機或外部驅(qū)動器上的文件夾中,以便您可以在接下來的段落中快速找到它們。

我們必須將這 2 個文件上傳到 Pico:ed 上一個名為lib的特殊文件夾中,我們的代碼中將在該文件夾中導(dǎo)入庫。

從 Thonny 右鍵單擊?? circuitpythondevice窗口并選擇NewDirectory

poYBAGSAhW6Ab_JiAAAjWervHFM598.png
?

在下一個窗口中寫入lib ,然后按OK 。現(xiàn)在雙擊lib文件夾,這樣您現(xiàn)在就位于 Pico:ed 上的該文件夾中。

從上面顯示計算機內(nèi)容的窗口(文件)中,搜索放置cutebot.pyadafruit_irremote.py的文件夾,選擇它們并單擊鼠標右鍵。選擇上傳到/lib

pYYBAGSAhXCAbtSWAAAxX-zcDeE067.png
?

等待幾秒鐘以允許上傳。現(xiàn)在您將在CircuitPython 設(shè)備窗口中看到這些庫。現(xiàn)在您可以退出設(shè)備上的lib文件夾以返回根目錄,以便您可以在此處保存您的程序:只需單擊CircuitPython 設(shè)備寫入。

我們上傳的這兩個庫是單個文件庫。會發(fā)生其他庫由文件夾中的更多文件組成的情況:在這種情況下,您將上傳整個文件夾,因此/lib文件夾中會有子文件夾。

出色地。一切就緒。讓我們編寫一個簡單的程序上傳到 Pico:ed,看看是否一切正常。

在 Thonny 上單擊文件,然后單擊新建。將出現(xiàn)一個空的編輯器窗口。復(fù)制并粘貼此代碼:

from picoed import display

while True:
    display.scroll("HACKSTER.IO")

播放按鈕:

poYBAGSAhXKAagWyAAATwO5FvGs480.png
?

由于這個文件是新的,沒有保存,Thonny 會要求您保存它,因此會出現(xiàn)一個窗口詢問保存位置:如果在計算機上或在 CircuitPython 設(shè)備上,我們將按 che CircuitPythonDevice按鈕。

然后你必須輸入一個名字:write scroll.py然后ok

該程序?qū)㈤_始在 LED 矩陣上顯示HACKSTER.IO 的文字。

Micro:bit 做不到
?

很簡單,不是嗎?

我們可以在不啟動文件的情況下按“保存”按鈕來保存文件。讓我們指出一些事情: - 一個非常常見的錯誤是沒有將.py擴展名放在文件的末尾:即使按下播放按鈕文件無論如何都會被執(zhí)行,編輯器中的語法突出顯示將不起作用。 -如果你想讓文件在開機時自動啟動,你必須像我上面說的那樣調(diào)用它:例如code.pymain.py,在所有其他情況下你可以讓程序在你編寫后按下 Thonny 的播放按鈕開始或者在編輯器中加載(雙擊.py文件)

出色地。現(xiàn)在是組裝 Cutebot 的時候了。

準備智能可愛機器人

這里有幾件事要做:

插入超聲波傳感器。前面有一個 4x2 母接頭(機器人的前面是兩個 RGB LED 所在的位置。超聲波傳感器接頭必須插入最前面的孔中:

poYBAGSAhXWALHHtAAJll8K9Z4k513.jpg
第一行是 HC-SR04 傳感器,第二行是 I2C 設(shè)備/配件
?

將自粘膠帶貼在電池座背面

poYBAGSAhXeAPl1SAAFEaQqMnjA666.jpg
?

將電池座連接器連接到機器人中心的插座中,在電機之間穿過電纜,然后將電池座粘在電機外殼上,注意與 Pico:ed 插槽保持間隙:最好對齊電池座的中心如圖所示帶輪軸:

pYYBAGSAhXuAfmTzAAMY-A5FMGI875.jpg
?

確保 ON/OFF 開關(guān)處于最右邊的位置 (OFF),然后將 3 節(jié) AAA 電池(不包含在供貨范圍內(nèi))放入電池座中。

poYBAGSAhX6AUVIrAAFpKNAs_DE504.jpg
我用永久性黑色記號筆在開關(guān)上寫了 1-0 :)
?

將 Pico:ed 插入其面向前面 LED 矩陣的插槽中

pYYBAGSAhYGAQXsCAAGAOVMzLlU762.jpg
?

組裝完成!讓我們編寫第一個程序來測試 linefollower

編程實例

在 ELECFREAKS wiki 上,有一個將 Smart Cutebot 與 Pico:ed 結(jié)合使用的分步教程。每節(jié)課都教如何每次使用一個元素。我建議您先按照他們的教程進行操作,然后嘗試下面的 Line Follower 示例。

線跟隨器

我編寫了自己的巡線器程序,試圖將 Pico:ed 和 Cutebot 的大部分功能放入其中:我在前面使用了蜂鳴器、點陣顯示器和 RGB LED。

這個巡線程序以這種方式工作:

  • 打開機器人后,等待點陣顯示屏上出現(xiàn)“興奮”的臉
  • 將機器人放在紙張軌道上,注意前面的兩個小 smd 藍色 LED 燈都亮著,表示黑色軌道就在紅外傳感器下方
  • 按下 Pico:ed 上的“A”按鈕(這是你左邊的那個,機器人的臉在你面前)
  • 按下按鈕后,正面 BIG LED 會呈藍白色閃爍,并會播放類似警車的聲音
  • 機器人開始沿著軌道移動。前面的大 LED 變成綠色。沿直線移動時,點陣顯示器(面部)上會出現(xiàn)微笑。當機器人轉(zhuǎn)動時,顯示屏上描繪的臉會根據(jù)方向向右或向左看
  • 如果機器人偏離軌道,LED 變?yōu)榧t色,面部變化,機器人轉(zhuǎn)圈試圖恢復(fù)線路
  • 如果你按下“B”按鈕,機器人就會停止,LED 會變紅,面部也會發(fā)生變化。按“A”按鈕重新啟動

您可以在我的 Cutebot Github 存儲庫中下載我的示例,請點擊此處。

以下是一些注意事項和提示:

  • 在我的示例中,機器人運行速度比官方 ELECFREAKS 示例慢。這是一件需要的事情,因為我也在使用點陣顯示器,即使沒有人注意到它,更新點陣顯示器時也會有一些延遲,這會導(dǎo)致線跟蹤操作延遲,使機器人不斷偏離軌道,所以最快的解決方案是讓機器人緩慢移動。
  • 沿線跟蹤使用超聲波傳感器模塊具有挑戰(zhàn)性,因為超聲波模塊需要時間并且不能連續(xù)調(diào)用(測量之間必須至少允許 500 毫秒),因此您不能簡單地將距離讀數(shù)放入跟蹤循環(huán)中,否則會發(fā)生奇怪的錯誤,使機器人卡住在無限循環(huán)中。恕我直言,最好的方法是使用單獨/異步任務(wù)來執(zhí)行此操作(這對您來說是一個專業(yè)挑戰(zhàn))。
  • 機箱下的 2 neopixel 可以使用 CircuitPython 的 Adafruit Neopixel 庫(它是一個凍結(jié)模塊)進行管理。

故障排除

有時您會注意到 Thonny IDE 卡住了,找不到顯示錯誤消息的開發(fā)板。在這種情況下,您必須嘗試(從第一件事到最后):

  • 按下停止按鈕
  • 斷開并重新連接 USB 數(shù)據(jù)線,等待 10 秒,然后按下停止按鈕
  • 關(guān)閉并重新啟動 Thonny IDE,重復(fù)上述所有操作
  • 在舊的 Microsoft Windows 版本上,有時即使未連接CIRCUITPY單元也會在計算機設(shè)備中可見:在這種情況下,您只能重新啟動 PC。我在 Windows 7 上總是出現(xiàn)這種故障,而在 Windows 10 和 11 上則不會發(fā)生這種情況。無論如何最好在代碼上傳后安全地斷開 Circuitpy 單元。

在其他情況下,您會看到 main.py 不會執(zhí)行:當代碼中存在錯誤導(dǎo)致 python 解釋器卡住導(dǎo)致無限循環(huán)時,就會發(fā)生這種情況。在這種情況下,將電路板連接到計算機,打開 thonny,加載程序并按播放按鈕執(zhí)行程序,以便您可以在終端窗口中讀取錯誤。

在其他情況下,您只是將文件命名為與main.pycode.py不同的名稱,但無論如何您都希望它在開機時自啟動:它不能!

非常常見的編程錯誤:

  • Python 適用于縮進(沒有大括號!),所以請檢查你的縮進
  • 我經(jīng)常犯的錯誤是沒有將冒號放在 IF 語句之后。我真的總是犯這個錯誤,所以我在我的顯示器上貼了一張便利貼,上面寫著:IF 后面的冒號!
  • 在函數(shù)外聲明的變量是全局的,但是如果你想在函數(shù)中使用它們,你必須使用關(guān)鍵字global否則你會遇到一個not previously declared variable錯誤或類似的東西

鏈接


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費