精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何利用樹莓派Pico做一個鋼鐵俠反應爐?

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

在本教程中,我們將使用樹莓派 Pico 來控制 31 個單獨可尋址的 LED 燈,它們安裝在兩片亞克力塑料圓盤之間。其中一片圓盤上涂有膠粘鏡片,另一片圓盤上貼有單向鏡膜;這樣可以給 LED 燈帶制造出 3D 無限效果。

不過,樹莓派目前還沒有自己的”等離子聚變能源”,所以我們還得用充電電池,然后把所有東西封裝在一個 3D 打印的外殼中。

組件清單

樹莓派 Pico
柔性條形彩色像素 LED 燈帶(通常以 1 米長度出售;我們使用了144 個 WS2812B 的燈帶,并將其切割為 31 個 LED 的長度,剩余的部分可以用于其他項目)
3mm 厚的亞克力板材,足夠切割兩塊直徑為 70mm 的圓盤
自粘式柔性鏡片瓦(不是玻璃)
單向鏡自粘膜(用于阻擋太陽的窗貼式膜片)
USB-C 5V 1A TP4506 充電板(或者使用 Micro USB 接口的等效充電板)
可充電的 3.7V 1100mAh 603449 鋰離子電池
2 位 3P SPDT 面板安裝微型滑動開關,鎖定開關
約 100cm 的 26AWG 硅膠絕緣銅線(或類似線材)
強力膠水
3D 打印的外殼零件(STL 設計文件可以文末免費獲?。?/p>

在初始設置過程中,你還需要:一臺電腦,一根 Micro USB 線和焊接設備和材料(本項目中的焊接量很少,所以如果你不擅長或者不會焊接,也不用擔心)。

安裝固件

樹莓派為樹莓派 Pico 提供了詳細的文檔,不過在這一步,非常簡單,我們只需要拖動固件到Pico上就行(就像把文件拷貝到 U 盤上一樣)。

在你的計算機上

下載適用于最新版本 Pico MicroPython 固件的 UF2 文件。MicroPython 是一種針對微控制器優化的 Python 實現,適合各種水平的程序員。

如果你的 Pico 還沒有顯示為 RPI-RP2 驅動器,你需要檢查一下你的電腦是否已正確安裝了 Pico 的驅動程序。

你可以按住 Pico 上的 BOOTSEL 按鈕(位于 USB 插口旁邊的小按鈕),同時將連接了 Pico 的 Micro USB 插入到電腦上來將 Pico 設置為啟動器模式。

然后,Pico 將會顯示為一個名為 RPI-RP2 的驅動器,如下所示(以 macOS 為例):

4b49ac86-3c4d-11ee-ac96-dac502259ad0.png

給 Pico 編程

下載、安裝并打開一個名為 Thonny 的 Python 集成開發環境(IDE)。后面我們會用這個給Pico編程。確認 Pico 仍然連接著,并且 Thonny 的界面應該是這樣的:

4b576ef2-3c4d-11ee-ac96-dac502259ad0.png

如果你在 Shell 窗口中看到 >>>,那么你已經成功連接到 Pico 并啟用了交互式會話,準備開始編程。如果你沒有看到這個提示,那么你需要檢查 Thonny 的設置是否正確。

點擊 Thonny 窗口的右下角,確保選擇了 MicroPython(Raspberry Pi Pico)解釋器;如果沒有選擇,請選擇它。

如果由于某種原因沒有成功地刷寫固件,Thonny 可能會提示你在這個階段安裝它;在這種情況下,嘗試重新刷寫固件。如果Pico 仍然沒有顯示為連接狀態,那需要斷開連接并重新連接,然后按下 Thonny 頂部菜單欄的紅色停止標志來重置一下。

然后,你應該就可以在 Shell 窗口中看到 >>> 提示了,說明我們已經連接成功。

將以下代碼復制粘貼到空白且尚未保存的 Thonny 程序窗口中:

import array, time
from machine import Pin
import rp2


# Configure the number of WS2812 LEDs.
NUM_LEDS = 31
PIN_NUM = 28
brightness = 1


@rp2.asm_pio(sideset_init=rp2.PIO.OUT_LOW, out_shiftdir=rp2.PIO.SHIFT_LEFT, autopull=True, pull_thresh=24)
def ws2812():
    T1 = 2
    T2 = 5
    T3 = 3
    wrap_target()
    label("bitloop")
    out(x, 1)               .side(0)    [T3 - 1]
    jmp(not_x, "do_zero")   .side(1)    [T1 - 1]
    jmp("bitloop")          .side(1)    [T2 - 1]
    label("do_zero")
    nop()                   .side(0)    [T2 - 1]
    wrap()




# Create the StateMachine with the ws2812 program, outputting on pin
sm = rp2.StateMachine(0, ws2812, freq=8_000_000, sideset_base=Pin(PIN_NUM))


# Start the StateMachine, it will wait for data on its FIFO.
sm.active(1)


# Display a pattern on the LEDs via an array of LED RGB values.
ar = array.array("I", [0 for _ in range(NUM_LEDS)])


##########################################################################
def pixels_show():
    dimmer_ar = array.array("I", [0 for _ in range(NUM_LEDS)])
    for i,c in enumerate(ar):
        r = int(((c >> 8) & 0xFF) * brightness)
        g = int(((c >> 16) & 0xFF) * brightness)
        b = int((c & 0xFF) * brightness)
        dimmer_ar[i] = (g<<16) + (r<<8) + b
    sm.put(dimmer_ar, 8)
    time.sleep_ms(10)


def pixels_set(i, color):
    ar[i] = (color[1]<<16) + (color[0]<<8) + color[2]


def pixels_fill(color):
    for i in range(len(ar)):
        pixels_set(i, color)


def color_chase(color, wait):
    for i in range(NUM_LEDS):
        pixels_set(i, color)
        time.sleep(wait)
        pixels_show()
    time.sleep(0.2)


def wheel(pos):
    # Input a value 0 to 255 to get a color value.
    # The colours are a transition r - g - b - back to r.
    if pos < 0 or pos > 255:
        return (0, 0, 0)
    if pos < 85:
        return (255 - pos * 3, pos * 3, 0)
    if pos < 170:
        pos -= 85
        return (0, 255 - pos * 3, pos * 3)
    pos -= 170
    return (pos * 3, 0, 255 - pos * 3)




def rainbow_cycle(wait):
    for j in range(255):
        for i in range(NUM_LEDS):
            rc_index = (i * 256 // NUM_LEDS) + j
            pixels_set(i, wheel(rc_index & 255))
        pixels_show()
        time.sleep(wait)


BLACK = (0, 0, 0)
RED = (255, 0, 0)
YELLOW = (255, 150, 0)
GREEN = (0, 255, 0)
CYAN = (0, 255, 255)
BLUE = (0, 0, 255)
PURPLE = (180, 0, 255)
WHITE = (255, 255, 255)
COLORS = (BLACK, RED, YELLOW, GREEN, CYAN, BLUE, PURPLE, WHITE)




while True:


    print("fills")
    for color in COLORS:
        pixels_fill(color)
        pixels_show()
        time.sleep(0.2)


    print("chases")
    for color in COLORS:
        color_chase(color, 0.01)


    print("rainbow")
    rainbow_cycle(0)

Thonny 的界面現在看起來是這樣的:

4b845f48-3c4d-11ee-ac96-dac502259ad0.png

使用 MicroPython 的一個優點是它的很多代碼都是用可讀性強的英語編寫的。比如,在這個程序的開頭,我們可以看到 Pico 將通過引腳 28 控制 31 個 LED,以最大亮度顯示(亮度為 0-1 的比例,其中 0.5 表示 50% 的亮度)。

這個程序的剩余部分會指示 Pico 重復顯示圖案和顏色。

點擊 File 然后選擇 Save as…

4bc00e30-3c4d-11ee-ac96-dac502259ad0.png

4be01072-3c4d-11ee-ac96-dac502259ad0.png

4c01915c-3c4d-11ee-ac96-dac502259ad0.png

組裝硬件

3D 打印的部件

需要四個 3D 打印的零件來容納所有的組件:背板、主體、Pico 支架和前蓋。我們只需要將它們粘在一起組裝成完整的裝置就行。

你可以在文末免費下載這些 3D 打印文件。建議使用易于打印的材料,比如 PLA 或 PETG 塑料絲材料來打印。

切割和準備亞克力圓盤

對于這個項目,我們需要兩塊厚度為 3mm,直徑為 70mm 的亞克力圓盤,其中一塊圓盤需要在中央鉆一個直徑約為 5mm 的孔,用于通過導線。

如果你可以使用激光切割機,制作這些部件很簡單?;蛘吣憧梢哉页瞿愕呐f文具盒,找到圓規。使用木工鋸切割出一個直徑為 70mm 的圓形,然后用砂紙或銼刀修整邊緣。最終的圓盤不需要完全無瑕疵,因為后續的步驟會遮蓋這些小瑕疵。

其中一塊圓盤在中心鉆一個直徑為 5mm 的孔,用于以后通過導線。

4c4b830c-3c4d-11ee-ac96-dac502259ad0.png

在柔性粘性鏡片上標記一個70mm的圓,在單向鏡自粘膜上標記另一個同樣大的圓。使用剪刀剪裁出圓形,而且可以剪得非常圓。

確保從亞克力圓片上撕掉了所有的保護層,然后依次撕掉鏡片背面的粘性支撐層。

把鏡片貼到帶有孔的圓片上,這個圓片會被用于安裝我們的Pico,然后將一片單向鏡膜貼到另一個圓片上。

布線和焊接電子器件

反應爐底部將會包含可充電電池、開關和 USB-C 充電板,這些我們需要將它們粘合到 3D 打印切割件內部的適配插槽中。

在這個階段,我們需要進行一些電線的剪切、剝離和焊接工作。

根據下面的照片,確保將電池的正負極線連接到正確的 USB-C 充電板正負極輸入上,并將板的正輸出線焊接到滑動開關的中間引腳上。

開關的正極線可以焊接到兩個外側開關引腳的任意一個上:

4c86629c-3c4d-11ee-ac96-dac502259ad0.png

接下來,將另外三根導線直接焊接到 Pico 的背面。這些導線的長度應該足夠完成后面組裝過程中的連線電路:大約 20cm 的長度應該足夠了。

為了給 Pico 提供電源,還需要將紅色和黑色導線分別連接到標有 VBUS 和 GND 的引腳上。

我們需要第三根導線(藍色),在上面的照片中顯示,在藍色導線上將它焊接到標有 GP28 的引腳上。我們的 MicroPython 腳本中指定的是 Pico 用來與 LED 進行通信的引腳

LED 燈帶通常已經預先布線,但它們的連接點通常較大,我們需要自制一個布線束。使用剪刀,將任何現有的布線都剪掉,然后切割出一條 31 個 LED 的燈帶,確保剪切沿每個 LED 之間的縫隙進行:

燈帶上也標有箭頭,用于顯示正確的電流方向,”+”符號代表正線,”0″代表數據線,”G”代表負線或接地線。在切割時,確保沿著每個焊盤中間切開;如果不小心的話,很容易導致焊接線接觸不良。

在上面的照片中,像這樣焊接另外三根導線,長度也約為 20cm:紅色正線、藍色數據線和黑色地線。在焊接到焊盤時,你可能會發現從燈帶后面進行焊接會更方便一些。

組裝

將連接到你的樹莓派Pico的三根線穿過小型3D打印的Pico底座。然后將線通過鏡子圓板的孔,將底座粘在你的Pico底部和圓板的反光面。確保Pico在底座上坐立于鏡子表面之上。

這樣,我們就可以實現我們的目標,獲得一個 3D 無限效果

現在將帶單向膜的圓盤放入 3D 打印的主體中,并將前環粘合到主體上。由于圓盤是由前環固定的,所以可以隱藏一些形狀方面的細微缺陷。

將 31 個 LED 的燈帶粘貼在 3D 打印的主體的內部,確保布線和連接與主體的間隙對齊,這樣你可以輕松地將導線穿過安裝 Pico 的圓盤的一側。

大多數 LED 燈帶都有自粘背面,這有助于使這個過程變得簡單。

將已經粘合到鏡面圓盤上的 Pico 與裝有 LED 的主體和單向鏡組成一個完整的裝置,并與包含電池、充電板和開關的底座配對。

確保你的所有導線尾部都穿過到了反應爐底座上。將兩根藍色數據線焊接在一起,將三根紅色正線焊接在一起,將三根黑色負線焊接在一起,根據需要修剪任何多余長度的線材??梢允褂脽峥s套管或膠帶絕緣我們的連接點。

最后檢查
在將所有部件粘合在一起之前,檢查一切是否按預想的工作。通過滑動開關檢查 LED 是否點亮;使用 USB-C 手機充電器或 USB 充電寶測試充電板的功能;充電時,LED指示燈將亮起。

現在,我們只需要將部件粘合在一起就ok了。

升級

升級!每個人都喜歡升級,尤其是鋼鐵俠。其實我們還可以使用樹莓派 Pico W 運行一個 web 服務器,從手機瀏覽器上無線控制 LED。

或者也可以加一些涂料,在反應爐背面粘貼一些魔術貼,這樣我們就可以將它像托尼·斯塔克那樣佩戴在胸前了。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鋰離子電池
    +關注

    關注

    85

    文章

    3215

    瀏覽量

    77549
  • 驅動器
    +關注

    關注

    52

    文章

    8156

    瀏覽量

    146009
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    107837
  • 3D打印技術
    +關注

    關注

    4

    文章

    220

    瀏覽量

    31869
  • 樹莓派
    +關注

    關注

    116

    文章

    1699

    瀏覽量

    105524

原文標題:用樹莓派 Pico 做一個鋼鐵俠反應爐

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

收藏 人收藏

    評論

    相關推薦

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

    樹莓pico入門學習筆記選擇自己熟悉的編程語言樹莓pico提供C/C++和micropyth
    發表于 07-01 09:28

    樹莓pico如何入門?

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

    樹莓Pico的相關資料分享

    關注、星標公眾號,直達精彩內容1月22日,樹莓基金會最新發布款低成本、高性能的微控制器開發板Raspberry Pi Pico,新產品相比普通
    發表于 11-03 08:44

    使用樹莓Pico做了自動駕駛小車

    樹莓Pico做了自動駕駛小車,連接上藍牙,可以用手機控制它的移動了。
    發表于 01-05 07:32

    樹莓Pico的相關資料推薦

    1月22日,樹莓基金會最新發布款低成本、高性能的微控制器開發板Raspberry Pi Pico,新產品相比普通樹莓
    發表于 02-07 07:37

    遠程控制樹莓3b上的pi pico

    樹莓pi pico樹莓4相比差別很大,但是pi pico
    的頭像 發表于 03-05 17:23 ?3947次閱讀

    如何700元用樹莓自己做一個相機?

    手機拍照不夠爽,帶個單反又太重? 試試做個樹莓復古相機,還能自己編寫處理算法的那種—— 成本不到700元。 沒錯,顏值很高,拍出來的照片也能打。 你也可以快速上手做一個。 如何制作
    的頭像 發表于 05-20 11:44 ?3006次閱讀
    如何700元用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>自己<b class='flag-5'>做一個</b>相機?

    樹莓也出MCU了?樹莓Pico來了!

    關注、星標公眾號,直達精彩內容1月22日,樹莓基金會最新發布款低成本、高性能的微控制器開發板Raspberry Pi Pico,新產品相比普通
    發表于 10-28 10:36 ?11次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>也出MCU了?<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b>來了!

    樹莓Pico:僅4美元的MCU

    1月22日,樹莓基金會最新發布款低成本、高性能的微控制器開發板Raspberry Pi Pico,新產品相比普通樹莓
    發表于 12-04 13:06 ?13次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b>:僅4美元的MCU

    樹莓pico入門學習筆記(

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

    距離檢測報警使用樹莓Pico

    電子發燒友網站提供《距離檢測報警使用樹莓Pico.zip》資料免費下載
    發表于 11-09 11:49 ?0次下載
    距離檢測報警使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b>

    基于樹莓pico的可編程游戲手柄設計

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

    如何利用樹莓和氣體傳感器保護廚房呢?

    其實市面上有很多商業解決方案,喜歡自己動手的,可以用樹莓Pico和氣體傳感器做一個。
    發表于 08-16 09:24 ?320次閱讀

    樹莓Pico文件系統應用:數據記錄器

    在前面的章節中,你直在使用樹莓 Pico 連接到樹莓或其他電腦。不過,與所有微控制器
    的頭像 發表于 10-24 10:51 ?1271次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b>文件系統應用:數據記錄器

    樹莓單片機-Raspberry Pi Pico

    樹莓Pi Pico樹莓基金會在2021年1月份發布的款新的基于RP2040定制芯片的單片
    的頭像 發表于 10-31 17:07 ?1589次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>單片機-Raspberry Pi <b class='flag-5'>Pico</b>