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

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

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

3天內不再提示

Raspberry Pi WebIOPi IOT—全彩LED圣誕裝飾

三心四意 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-02-24 17:11 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。pYYBAGPzH4aAUjueAAEsqFPqUTk852.jpg

圣誕節將近,我們打算制作一個可愛的LED圣誕裝飾!通過使用全彩LED和WebIOPi,我們可以用無線控制的方式實現裝飾彩燈在紅色、藍色和綠色之間的切換。

關于全彩 LED

poYBAGPzH4mAJprYAADOpUzcGVI614.jpg

圖1:RGB全彩5mm LED

RGB全彩5mm LED包含三種基本顏色:紅色,綠色和藍色。通過三種顏色相混合可以得到全彩光源。您可以使用任何的透明RGB LED,從Sparkfun,Amazon等可以購買到這些產品

要控制三種顏色,需要使用4個引腳(3個控制顏色的引腳+GND)。LED的尺寸大于一般的單色LED尺寸。

poYBAGPzH4uAS3siAABSh1KSWuQ903.png

圖2:摘自OSTA5131A 數據表

LED的方向取決于引腳的長度。最短的引腳為圖2中左側的①。光源的三基色分別分配到每個引腳上:①綠色; ②藍色以及 ④ 紅色。③是“共陰極組”,指一組擁有陰極公共端的電子元器件。在本項目中,它對應的是LED的負極,需要將其連接到GND端。

poYBAGPzH46AfyFjAAPDb6GwiT0079.png

圖3:將全彩LED連接到Raspberry Pi 2

該處的接線非常簡單。這次,我們將綠色連接到引腳11(GPIO 17),藍色連接到引腳13(GPIO 27),紅色連接到引腳15(GPIO 22)。根據LED 引腳來使用三個對應并列的引腳可以使接線更加清晰易懂。

現在,讓我們來點亮全彩LED!我嘗試從WebIOPi默認屏幕上的“GPIO 標頭”進行操作。(如果您使用的是WebIOPi,可以通過將設置恢復到原始狀態來顯示WebIOPi默認屏幕。取消掉[SCRIPTS]中的myproject和[HTTP]中的doc-root注釋)

視頻中所示,光照強度很大,所以請注意不要直視它!如果您使用了LED漫射器(如橡膠帽等),就可以調低光線亮度。另外,全彩LED的光照強度存在個體差異,所以我們通過更改電阻值對光照強度進行調整。

Raspberry Pi的GPIO引腳是數字輸出,所以輸出值為1或0(開/關)。一共有2種模式×3種顏色,除了關閉狀態,可以展現出7種顏色,如圖4所示。

pYYBAGPzH5GATO88AADN1L73gPc666.jpg

圖4:加成色

雖然可以表達出七種顏色,但如果僅僅是這樣,就太浪費了。這種情況下,對WebIOPi編程就可以派上用場了。通過對WebIOPi進行編程,您可以將燈光調整為自己喜歡的顏色。

關于 PWM

為了從WebIOPi控制全彩LED,需要使用脈沖寬度調制(PWM)的方法。

PWM – Arduino

脈寬調制(PWM)是一種通過數字處理方式獲取模擬信號的技術。數字控制用于創建方波信號,即一種在開和關兩種狀態之間切換的信號。這種開關模式可以通過改變信號處于開狀態所用時間與信號處于關狀態所用時間之間的比例來模擬開(5V)至關(0V)之間的電壓。“開通狀態”所持續時間被稱為脈沖寬度。為了獲得變化的模擬值,您可以更改或調制脈沖寬度。例如,如果將LED以足夠快的頻率重復這種開關模式,最終呈現出來的效果就會和輸出了0V到5V之間的用于控制LED亮度的穩定電壓一樣。

數字信號中,只有ON(開)和OFF(關)這兩種類型的信號。通過使用在一個周期內接通(ON)時間和關閉(OFF)時間之間的比例(占空比),可以處理0 至100%之間的值。

pYYBAGPzH5OAQ2CtAAAw4MKPu3o596.gif

圖5:占空比

上圖中有關占空比的內容很容易理解。再次說明,波形處于5V時是ON,處于0V時是OFF。該比例是通過計算一個周期內的占比獲取的。

現在,我們來看一看WebIOPi中的一些便捷函數。

創建HTML文件

我們從HTML文件開始。WebIOPi中內置有用于PWM控制的滑塊部件。

Javascript 庫

// Only for Chrome and Safari, create a slider that pulse out 
a 0-100% duty cycle ratio on GPIO 8
button = webiopi().createRatioSlider(8);
content.append(button);

該部件代碼內含在示例中的51至53行。注釋文本中顯示“僅適用Chrome 和Safari”,但其實也適用Windows Internet Explorer、Opera以及Firefox等其他瀏覽器。

WebIOPi.createRatioSlider

WebIOPi.createRatioSlider (gpio, ratio)

Returns a slider that send its value as a PWM duty cycle ratio

(int) gpio: GPIO number from 0 to 53

(float) ratio: slider’s init value

要使用該函數,只要在第一個參數中輸入GPIO編號就可以了!文檔中聲明了可以為第二個參數設定初始值,但是在當前版本中似乎并沒有對該值作出響應(如果有興趣的話,請參考webiopi.js中第504行)。

現在,我們來為全彩LED創建一個HTML文件吧!

/home/pi/webiopi_sample/html/index.html

input[] { display: block; width: 160px; height: 45px; }

red

green

blue

我們制作了三個滑動條,這樣就可以設置RGB每個顏色的值了。使用createRatioSlider函數之后的HTML輸出如下所示:


該滑動條可以以0.01的步距在0.0至1.0(0至100%)之間滑動。

由于已經分配了id,如果您想要設置初始值(如第21至23行所示),您可以使用jQuery對進行設置。

$("#ratio17").val(0);

當您在瀏覽器中對其進行顯示時,將會出現如下屏幕內容:

poYBAGPzH5WAH3AlAAAGLDhlY6w054.png

圖 6

為了與LED鏈接,必須在Python端執行初始設置。

創建 Python 文件

因為值的設置是在HTML端完成的,所以Python端只需要對初始化及終止處理進行描述就可以了。

/home/pi/webiopi_sample/python/script.py

import webiopi
 
GPIO = webiopi.GPIO
 
RED   = 22
GREEN = 17
BLUE  = 27
 
def setup():
    # Set GPIO to PWM
    GPIO.setFunction(RED  , GPIO.PWM)
    GPIO.setFunction(GREEN, GPIO.PWM)
    GPIO.setFunction(BLUE , GPIO.PWM)
 
def destroy():
   # Light off
    GPIO.pwmWrite(RED  , 0)
    GPIO.pwmWrite(GREEN, 0)
    GPIO.pwmWrite(BLUE , 0)

由于本次使用了PWM,所以將第10到12行setFunction中的第二個參數指定為“GPIO.PWM”。如果指定為“GPIO.OUT”,脈沖信號將不會被識別,并且在您每次移動滑動條時它將會閃爍一秒鐘。

雖然已經在程序末端寫入了關閉LED的處理過程,但是還是需要使用“pwmWrite”函數。

PwmWrite (Channel, Value)

Write An Integer Value To The Given PWM Channel.

REST API: POST / Devices / Name / Pwm / Channel / Integer / Value

Name (Str): Device Name From Configuration File

Channel (Int): Analog Channel Number

value (int): integer value to output from 0 to pwmMaximum

在第一個參數中輸入指定的GPIO引腳編號以及您想要為第二個參數設定的值。如果該值被設置為0,那么狀態變為OFF,LED將會熄滅。

讓我們來運行它!

運行指令

sudo /etc/init.d/webiopi start

我們嘗試通過移動滑動條來調整顯色的光強,如上面視頻所示。當調整紅色,綠色和藍色這些單色光時,您可以以漸變的形式調整光強。另外,將這些單色光進行重疊,就可以顯示出疊加效果的顏色。設置很小的值將會使光強過弱而導致不穩定,所以需要設置一定程度的光強以保證穩定性。

poYBAGPzH5eAFsW_AACvcFtEToQ600.jpg

圖7

這非常方便,因為只需要打開電源就可以立即啟用Wi-Fi 和WebIOPi的自動啟動設置了。

圣誕裝飾!

pYYBAGPzH5qAUyUiAAE56tkonl8355.jpg

圖8

安裝過程非常簡單,只要將跳線直接插入LED 引腳即可,如上圖所示。有時候線會脫落,所以最好將線焊接進去。

pYYBAGPzH4aAUjueAAEsqFPqUTk852.jpg

圖9

我將LED放進了一個鐘形的裝飾品中,看起來很酷,不是嗎?

用Raspberry Pi的一個GPIO可以點亮兩個全彩LED。如果您想要連接許多個,可以使用諸如移位寄存器之類的部件來完成。

圣誕節就快到了!為什么不用這些可愛的led圣誕裝飾來增添假日氣氛呢?您也可以制造其他創意產品!比如將其放在透明的裝飾物中或者蠟燭中,或者使用大量LED制造出手工照明燈來作為您的圣誕節裝飾品!

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 編輯團隊

設備升級版適用于所有熱愛電子和機電一體化的人。

審核編輯黃宇

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

    關注

    242

    文章

    23356

    瀏覽量

    663209
  • Raspberry Pi
    +關注

    關注

    2

    文章

    559

    瀏覽量

    22342
收藏 人收藏

    評論

    相關推薦

    視覺享受!用Raspberry Pi實現圣誕樹燈光秀

    本文將介紹用樹莓派實現圣誕LED燈光秀的方法, 這個項目需要用Raspberry Pi來驅動8個交流插座,同時這些插座會與圣誕樹照明燈相連
    的頭像 發表于 11-12 18:31 ?8357次閱讀
    視覺享受!用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>實現<b class='flag-5'>圣誕</b>樹燈光秀

    Raspberry Pi實現圣誕樹燈光秀

    `這個項目需要用Raspberry Pi來驅動8個交流插座,同時這些插座會與圣誕樹照明燈相連。為了使燈光有動態變化,這里用的是可編程RGB LED燈。我可以用
    發表于 11-12 11:38

    Raspberry Pi 標準的40針連接器設計方案

    電壓范圍輸入,鳳凰端子輸入接口尺寸:160 mm(L) x 120 mm(W) x 20mm(H)軟件環境:Raspberry Pi Raspbian OS系統框圖產品圖片IoT Gateway不帶4G
    發表于 08-27 18:26

    利用RGB LED創造圣誕樹的智能裝飾

    描述RGB圣誕樹今年我想在我的圣誕樹上添加我自己設計和建造的東西,所以我用 RGB LED 創造了這個智能裝飾LED 由 ESP32 控制
    發表于 07-28 07:48

    如何使用Raspberry Pi 2將舊的RC汽車轉換為可在WiFi或Internet上工作

    要通過本地網絡訪問pi,請打開瀏覽器,然后從網絡中的任何設備導航到 http://ipAddressOfPi:8000/。確保在URL中鍵入Pi的IP地址。默認用戶“ webiopi ”和密碼為“
    的頭像 發表于 11-01 17:19 ?2998次閱讀

    基于Arduino裝飾圣誕樹的教程

    由于圣誕節快到了,沒有裝飾圣誕樹,它的本質是不完整的。所以,不要使用我們每年都放的舊圣誕裝飾品,讓我們更上一層樓,使用帶有 Neo 像素
    的頭像 發表于 07-13 16:45 ?3310次閱讀
    基于Arduino<b class='flag-5'>裝飾</b><b class='flag-5'>圣誕</b>樹的教程

    使用Raspberry Pi或Arduino:DIY LED矩陣彩燈

    電子發燒友網站提供《使用Raspberry Pi或Arduino:DIY LED矩陣彩燈.zip》資料免費下載
    發表于 11-04 14:55 ?2次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>或Arduino:DIY <b class='flag-5'>LED</b>矩陣彩燈

    使用Raspberry Pi Pico的LED序列

    電子發燒友網站提供《使用Raspberry Pi Pico的LED序列.zip》資料免費下載
    發表于 11-14 11:07 ?0次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico的<b class='flag-5'>LED</b>序列

    通過Raspberry Pi進行簡單的物聯網LED控制

    電子發燒友網站提供《通過Raspberry Pi進行簡單的物聯網LED控制.zip》資料免費下載
    發表于 12-09 10:02 ?0次下載
    通過<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>進行簡單的物聯網<b class='flag-5'>LED</b>控制

    Raspberry Pi上通過網絡控制LED

    電子發燒友網站提供《在Raspberry Pi上通過網絡控制LED.zip》資料免費下載
    發表于 12-13 09:37 ?0次下載
    在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上通過網絡控制<b class='flag-5'>LED</b>

    圣誕LED裝飾開源分享

    電子發燒友網站提供《圣誕LED裝飾開源分享.zip》資料免費下載
    發表于 12-22 15:10 ?0次下載
    <b class='flag-5'>圣誕</b><b class='flag-5'>LED</b>樹<b class='flag-5'>裝飾</b>開源分享

    使用Raspberry Pi和Arduino實現Web控制的LED動畫

    電子發燒友網站提供《使用Raspberry Pi和Arduino實現Web控制的LED動畫.zip》資料免費下載
    發表于 07-03 14:52 ?0次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和Arduino實現Web控制的<b class='flag-5'>LED</b>動畫

    Windows IoTRaspberry Pi:讀取按鈕

    電子發燒友網站提供《Windows IoTRaspberry Pi:讀取按鈕.zip》資料免費下載
    發表于 07-10 11:13 ?0次下載
    Windows <b class='flag-5'>IoT</b>和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>:讀取按鈕

    用于室內植物或圣誕樹的 Raspberry Pi Pico 水監控器

    Pater Practicus 設計了一個由 Raspberry Pi Pico 供電的東西,通過確保圣誕樹獲得所需的水,讓它在整個季節都保持翠綠燦爛。如果你是在一月份讀到這篇文章的,那么這個項目
    的頭像 發表于 12-25 15:37 ?485次閱讀
    用于室內植物或<b class='flag-5'>圣誕</b>樹的 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico 水監控器

    LED圣誕燈電路圖 LED圣誕燈的工作原理和特點

    LED圣誕燈作為現代圣誕裝飾的重要組成部分,以其獨特的魅力和優勢,在全球范圍內得到了廣泛的應用和喜愛。
    的頭像 發表于 07-02 17:15 ?1980次閱讀
    <b class='flag-5'>LED</b><b class='flag-5'>圣誕</b>燈電路圖 <b class='flag-5'>LED</b><b class='flag-5'>圣誕</b>燈的工作原理和特點
    百家乐赌博故事| 广州百家乐官网赌场娱乐网规则| 真人百家乐官网输钱惨了| 怎样看百家乐官网路单| 百家乐官网游戏介绍与分析| 百家乐有技巧么| 怎样赢百家乐的玩法技巧和规则| 老k百家乐的玩法技巧和规则| 大发888 dafa888 octbay| 蓝盾国际| 如何玩百家乐官网游戏| 百家乐技巧运气| 澳门百家乐官网娱乐平台| 百家乐是哪个国家| 利澳百家乐的玩法技巧和规则| 棋牌室装修效果图| 百家乐官网游戏机出千| 百家乐官网77scs官| 乐宝百家乐的玩法技巧和规则| 1368棋牌官网| 百家乐官网游戏台| 玩百家乐官网去哪个娱乐城最安全 | 网上百家乐看牌器| 水果机规律| 利高百家乐官网娱乐城| 繁体子24画的有| 威尼斯人娱乐城图| 百家乐官网的视频百家乐官网| 悦榕庄百家乐官网的玩法技巧和规则| 百家乐百胜注码法| 金赞| 太阳百家乐官网网| 大发888娱乐城 建账号| 百家乐官网投注方法多不多 | 大发888娱乐场注册| 保单百家乐官网游戏机| 百家乐真人游戏网| 德州扑克2| 百家乐官网怎样玩的| 皇家百家乐出租平台| 林西县|