衡阳派盒市场营销有限公司

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

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

3天內不再提示

如何通過網(wǎng)絡應用程序創(chuàng)建可控制的變色RGB LED氛圍燈

jf_9aVl32Dp ? 來源:Arm軟件開發(fā)者 ? 2023-01-03 13:55 ? 次閱讀

作者:Rob Zwetsloot

在今天新一期的HackSpace雜志中,Phil King向您展示了如何通過網(wǎng)絡應用程序創(chuàng)建可控制的變色RGB LED氛圍燈。

828e3a20-89f8-11ed-bfe3-dac502259ad0.png

PIR傳感器的蓋子為RGB LED發(fā)出的光提供了良好的漫射器

通過內置無線連接,Pico W是創(chuàng)建物聯(lián)網(wǎng)IoT)項目的理想選擇。為了更簡單,Anvil發(fā)布了Pico W IoT工具包,使您能夠輕松、安全地連接到您在Anvil平臺上創(chuàng)建的web應用程序。有一個拖放式的web UI構建器、內置數(shù)據(jù)庫、用戶身份驗證、電子郵件集成、HTTP API等,所有這些都與您的Pico W對話。

通過使用Anvil的特殊UF2固件映像,您可以在MicroPython中對Pico W上的程序進行編碼,只需幾行額外的代碼即可連接到Anvil,然后在Anvil網(wǎng)站上創(chuàng)建一個web應用程序,該應用程序可以向Pico W程序發(fā)送數(shù)據(jù)或從Pico W中接收數(shù)據(jù)。在本教程中,我們將向您展示如何在Anvil web應用程序中使用滑塊控制RGB LED的顏色。

01.安裝固件

為了能夠將Pico W鏈接到Anvil框架,您需要使用特殊的固件文件。到magpi.cc/enviluf2(https://github.com/anvil-works/anvil-pico/releases/)下載最新的“完整”UF2文件。(如果要避免覆蓋Pico W上的任何現(xiàn)有文件,請使用“firmware-only”版本。)

與往常一樣,按住Pico W的BOOTSEL按鈕,同時通過USB將其連接到計算機,然后將UF2文件拖到已安裝的“RPI-RP2”卷中。復制完成后,Pico W將自動重新啟動并重新顯示為一個名為“Pico W”的卷。

829dffc8-89f8-11ed-bfe3-dac502259ad0.png

圖1:使用RGB LED的情緒燈電路的接線圖

02.連接到WiFi

將Pico W連接到計算機后,打開Thonny IDE,確保Python解釋器(顯示在右下角)設置為“MicroPython (Raspberry Pi Pico)”。Pico W上的main.py文件將自動運行,因此您需要按下停止圖標來停止它。打開boot.py文件,在頂部輸入無線路由器的SSID(名稱)和密碼。

WIFI_SSID = ""


WIFI_PASSWORD = ""

現(xiàn)在,當Pico W重新啟動時,它將自動連接到您的無線網(wǎng)絡。

03.連接電路

將Pico W放在板子的一端,如圖1所示。在另一端添加RGB LED,每條腿放置在不同的行中。它有四條腿,其中最長的應該是接地連接——使用跳線將其連接到Pico W上的GND引腳。

與LED一樣,您應該使用電阻器來限制最大電流,以避免LED燒壞。我們用了三個330?Ω電阻器放置在測試板的中央凹陷上,將LED的R(紅色)、G(綠色)和B(藍色)支路連接到分別連接到Pico W上GPIO引腳13、14和15的跳線。

82ac6798-89f8-11ed-bfe3-dac502259ad0.png

Pico W運行連接到Anvil web應用程序的標準MicroPython代碼

注意:我們的RGB LED腿的順序是R、GND、B和G,但您的可能不同。

04.測試電路

為了確認一切都正確連接,我們將在Pico W上運行一個簡單的程序。在您計算機上的Thanny IDE中,確保Python解釋器(顯示在右下角)設置為“MicroPython (Raspberry Pi Pico)”。

打開一個新文件并在RGB_test.py列表(背面)中添加代碼。運行時,RGB LED應依次變?yōu)榧t色、綠色和藍色。如果顏色順序錯誤,則需要更換相關跳線

05.編寫代碼

現(xiàn)在,讓我們?yōu)镽GB LED“情緒燈”編寫MicroPython代碼,如mood_lamp_sliders.py列表所示。頂行import anvil.pico使pico W能夠連接到anvil的服務器。第二行,import uasyncio as a,為運行并發(fā)函數(shù)設置異步調度程序。我們還從機器庫導入Pin和PWM類,以便我們可以通過GPIO引腳控制RGB LED。

8370586a-89f8-11ed-bfe3-dac502259ad0.png

運行時,Pico W MicroPython代碼將連接到Anvil web應用程序

再往下是一行,以"UPLINK_KEY ="開始。這是您稍后需要粘貼Anvil上創(chuàng)建的web應用程序的上行鏈路密鑰的地方,以便Pico W程序可以鏈接到它。程序底部有一行可以使用它進行連接。

接下來,我們創(chuàng)建三個變量來設置RGB LED的紅色、綠色和藍色部分的級別。然后,我們按照測試代碼設置PWM引腳。

06.調用decorator

在我們的代碼中,我們有三個功能:一個用于控制RGB LED的紅色、綠色和藍色部分。在每個函數(shù)之前,我們添加一個“decorator”,并在定義函數(shù)的行的開頭添加async;例如:

@anvil.pico.callable_async
async def red(slider):

這讓我們連接的Anvil web應用程序知道可以從web調用此功能。我們將向其發(fā)送一個值,該值由web應用程序中的滑塊設置,該滑塊將設置該顏色的級別。當我們使用從0到255的值作為滑塊時,我們將其乘以256,將其轉換為PWM電平設置的無符號16位整數(shù)(0到65535)。

83b712a0-89f8-11ed-bfe3-dac502259ad0.png

RGB_test.py代碼。在此處獲取完整代碼(https://github.com/themagpimag)

07.設計web應用程序

去anvil.works注冊一個免費賬戶。我們希望為我們的燈使用滑塊控件,這不是標準的Anvil組件,因此我們將打開一個包含滑塊庫的演示應用程序:轉到Anvil.works/library/slider并單擊“Open in Anvil”。

Sliders演示應用程序只有兩個滑塊,我們需要三個,分別為紅色、綠色和藍色。從右側的“Toolbox”面板中,將滑塊自定義組件拖動到“Reset”按鈕的正上方。現(xiàn)在選擇一個現(xiàn)有的“Value:”元素,按CTRL/CMD+C復制它,然后用CTRL/CMD+V將它粘貼到新滑塊下。復制并粘貼一個“1”組件到它的右側。

依次單擊每個“Value:”元素,并將其文本(在右側的“屬性”面板中)分別更改為“紅色:”、“綠色:”和“藍色:”。將每個“1”文本元素設置為“0”。此外,將“Blue:”元素名稱設置為“l(fā)abel_6”,并將附帶的“0”元素名稱設為“l(fā)abel_7”。對于每個滑塊,將“slider_max”值設置為255。

83c848ea-89f8-11ed-bfe3-dac502259ad0.png

mood_lamp_sliders.py。在這里獲取完整代碼(https://github.com/themagpimag)

08.啟用服務器上行鏈路


單擊左下角的“+”按鈕并選擇上行鏈路,然后單擊服務器上行鏈路旁邊的啟用。這將為應用程序生成一個服務器上行鏈路密鑰(忽略客戶端密鑰),您應該將其粘貼到Pico W上MicroPython代碼的第5行,以便它可以連接到該應用程序。



09.調整web代碼

我們需要更改web應用程序代碼,以便將每個滑塊的設置發(fā)送到Pico W程序中的紅色、綠色或藍色功能。單擊“Code”選項卡,將以下行(縮進)添加到slider1_change函數(shù)中:

anvil.server.call_s("green",self.slider_1.level)
  pass

請注意,滑塊1是中間的滑塊,我們將其指定為綠色。同樣,對于slider2_change,添加以下兩行(縮進):

anvil.server.call_s("red",self.slider_2.level)
  pass

為滑塊3添加類似的新功能

defslider_3_change(self,**event_args):
self.label_7.text=self.slider_3.level
anvil.server.call_s("blue",self.slider_3.level)
  pass

最后,將這些行添加到web代碼中的reset_btn_click函數(shù):

self.slider_3.level=0
self.label_7.text=0
anvil.server.call_s("red",0)
anvil.server.call_s("green",0)
anvil.server.call_s("blue",0)
  pass

10.運行兩個應用程序

我們現(xiàn)在可以出發(fā)了。首先,在Thonny運行Pico W程序。您將在Shell窗格中看到消息,以顯示它正在連接。完成后,運行Anvil web應用程序。現(xiàn)在,您可以移動滑塊來調整RGB LED的紅色、綠色和藍色組件,以改變其陰影。

為了使其更有效,您可能需要漫射LED的光。我們簡單地將PIR傳感器的半透明塑料蓋放在上面,效果相當好。你現(xiàn)在有了一個網(wǎng)絡控制的情緒燈!下一次,我們將在Anvil網(wǎng)絡應用程序中讀取Pico W傳感器數(shù)據(jù)。

審核編輯:湯梓紅

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

    關注

    2553

    文章

    51390

    瀏覽量

    756571
  • led
    led
    +關注

    關注

    242

    文章

    23355

    瀏覽量

    663172
  • RGB
    RGB
    +關注

    關注

    4

    文章

    801

    瀏覽量

    58715
  • PIR
    PIR
    +關注

    關注

    0

    文章

    75

    瀏覽量

    17924

原文標題:Pico W IoT搭配Anvil:情緒燈| HackSpace#62

文章出處:【微信號:Arm軟件開發(fā)者,微信公眾號:Arm軟件開發(fā)者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    樂控變色LED電路圖

    樂控變色LED電路圖
    發(fā)表于 06-16 15:21 ?2757次閱讀
    樂控<b class='flag-5'>變色</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>電路圖

    RGB Led是什么?

    RGB Led是什么? RGB LED與白光LED兩者其實都是希望達到白光的效果,只不
    發(fā)表于 11-18 13:41 ?2.4w次閱讀

    帶有LIN自動尋址的RGB氛圍解決方案-E521.31

     德國公司日前宣布推出一款高度集成的單芯片方案E521.31,該芯片主要應用于汽車RGB氛圍。 E521.31芯片帶有LIN總線自動尋址功能,專門為車內RGB-LED
    發(fā)表于 07-07 13:37 ?7338次閱讀

    基于單片機的綜合應用程序交通【C語言】直接控制led

    基于單片機的綜合應用程序交通【C語言】直接控制led
    發(fā)表于 01-06 14:18 ?10次下載

    RGB混光的基本原理與RGB汽車氛圍的應用研究

    就集中在顏色一致性的控制方面。本文以OSRAM的LRTB GVSG為例,介紹了RGB混光的基本原理及應用難點,探討了基于溫度探測反饋的RGB汽車氛圍
    發(fā)表于 10-21 09:06 ?179次下載
    <b class='flag-5'>RGB</b>混光的基本原理與<b class='flag-5'>RGB</b>汽車<b class='flag-5'>氛圍</b><b class='flag-5'>燈</b>的應用研究

    rgb led變色原理詳解_RGB三基色LED變色程序

    RGB LED與白光LED兩者其實都是希望達到白光的效果,只不過一個是直接以白光(熒光粉)呈現(xiàn),另一個則是以紅綠藍三色混光而成。
    的頭像 發(fā)表于 02-27 09:45 ?11.1w次閱讀

    LEDRGB色盤算法應用程序APP的詳細資料免費下載

    本文檔的主要內容詳細介紹的是LEDRGB色盤算法應用程序APP的詳細資料免費下載。
    發(fā)表于 09-03 08:00 ?11次下載
    <b class='flag-5'>LED</b><b class='flag-5'>燈</b><b class='flag-5'>RGB</b>色盤算法<b class='flag-5'>應用程序</b>APP的詳細資料免費下載

    如何通過Android應用程序控制LED

    它實際上是通過一個定制的Android應用程序控制的,你可以使用智能手機改變LED的顏色,也可以控制
    的頭像 發(fā)表于 04-10 16:14 ?1.2w次閱讀

    RGB LED在汽車氛圍中的應用說明

    本文檔的主要內容詳細介紹的是RGB LED在汽車氛圍中的應用說明包括了:簡介,光色混色原理,PWM驅動電路拓撲結構,顏色校準,顏色補償,照明控制
    發(fā)表于 09-11 08:00 ?31次下載
    <b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>在汽車<b class='flag-5'>氛圍</b><b class='flag-5'>燈</b>中的應用說明

    用自己聲音或智能手機控制RGB LED帶實現(xiàn)夢幻效果

    本項目將使用智能手機設置RGB LED帶的顏色,這些RGB帶內建藍牙功能,可接收智能手機上的android
    的頭像 發(fā)表于 07-15 09:11 ?6660次閱讀
    用自己聲音或智能手機<b class='flag-5'>控制</b><b class='flag-5'>RGB</b> <b class='flag-5'>LED</b><b class='flag-5'>燈</b>帶實現(xiàn)夢幻效果

    RGB LED控制器開源分享

    電子發(fā)燒友網(wǎng)站提供《RGB LED控制器開源分享.zip》資料免費下載
    發(fā)表于 08-18 14:41 ?20次下載
    <b class='flag-5'>RGB</b> <b class='flag-5'>LED</b><b class='flag-5'>燈</b><b class='flag-5'>控制</b>器開源分享

    Arduino控制RGB LED

    電子發(fā)燒友網(wǎng)站提供《Arduino控制RGB LED條.zip》資料免費下載
    發(fā)表于 12-29 11:39 ?4次下載
    Arduino<b class='flag-5'>控制</b>的<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b><b class='flag-5'>燈</b>條

    自動RGB/氛圍

    電子發(fā)燒友網(wǎng)站提供《自動RGB/氛圍.zip》資料免費下載
    發(fā)表于 02-13 16:32 ?12次下載
    自動<b class='flag-5'>RGB</b>/<b class='flag-5'>氛圍</b><b class='flag-5'>燈</b>

    使用Arduino的Android控制RGB LED

    電子發(fā)燒友網(wǎng)站提供《使用Arduino的Android控制RGB LED條.zip》資料免費下載
    發(fā)表于 07-05 09:45 ?2次下載
    使用Arduino的Android<b class='flag-5'>控制</b><b class='flag-5'>RGB</b> <b class='flag-5'>LED</b><b class='flag-5'>燈</b>條

    如何應用RGB LED變色連續(xù)漸變色來拯救世界

    電子發(fā)燒友網(wǎng)站提供《如何應用RGB LED變色連續(xù)漸變色來拯救世界.zip》資料免費下載
    發(fā)表于 07-05 09:35 ?0次下載
    如何應用<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>漸<b class='flag-5'>變色</b>連續(xù)漸<b class='flag-5'>變色</b>來拯救世界
    澳门网络游戏| 大发888下载大发888游戏平台| 月华百家乐的玩法技巧和规则| 百家乐公式与赌法| 威尼斯人娱乐城极好| 大发888怎么找不到了| 爱拼国际娱乐| 百家乐官网8点| 百家乐官网娱乐城代理| 百家乐官网h游戏怎么玩| 山西百家乐官网用品| 适合做生意的开运方法| 正品百家乐游戏| 大发888娱乐城客户端迅雷下载| 豪门国际网上娱乐| 百家乐官网布| 百家乐10个人| 大发888娱乐捕鱼游戏| 百家乐官网天天赢钱| 百家乐官网庄闲概率| 利澳百家乐官网的玩法技巧和规则| 百家乐最低投注| 全讯网一码353788| 太阳城亚洲开户| 百家乐官网桌布橡胶| 百家乐稳一点的押法| KK百家乐娱乐城 | 百家乐免费注册| 阜南县| 百家乐官网电子发牌盒| 百家乐官网连开6把小| 豪享博百家乐官网的玩法技巧和规则 | 24山分金周天度数| 金煌棋牌官网| 易胜博百家乐官网下载| 真人百家乐平台排行| 大发888-娱乐网| 百家乐官网和抽水官网| 豪博百家乐官网娱乐城| 百家乐官网具体怎么收费的| 威尼斯人娱乐城微博|