<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 牛人教你用RGB LED自制極光霧狀LED燈

          牛人教你用RGB LED自制極光霧狀LED燈

          作者: 時間:2016-12-04 來源:網(wǎng)絡(luò) 收藏

            這是DIY牛人制作的一款極光9x18的LED燈飾,把LED做成了一個完美的藝術(shù)品,效果非常棒!

          本文引用地址:http://www.ex-cimer.com/article/201612/326046.htm

            下面來看看,這款極光霧狀LED燈是怎么做成的吧!

            第1步電路圖

            電路圖見上圖,在這一版本中增加了紅外接收頭,所有功能可以通過SONY的家電遙控器控制?! ?strong style="word-break: break-all; ">第2步工作原理

            電路使用RGB發(fā)光二極管和12位的PWM,讓亮度在變化時更加平滑.人眼對光強(qiáng)屬于非線性響應(yīng),所以軟件對亮度變化曲線做gamma修正來給人以亮度均勻變化的視覺體驗。

            電路使用脈沖調(diào)制和多工驅(qū)動相結(jié)合的方式:把每個脈寬調(diào)制的循環(huán)拆成多個脈沖,再分別驅(qū)動三原色二極管,于是三原色二極管就一個脈沖調(diào)制循環(huán)里被分別點亮數(shù)次(大概有點像脈沖寬度調(diào)制和脈沖增量調(diào)制的混合吧),而整個全彩二極管的平均亮度輸出與這段時間內(nèi)的脈沖次數(shù)成正比。這樣做不僅能通過以不同頻率點亮三原色來減少發(fā)光二極管的可見閃爍,還能通過結(jié)合多個脈寬調(diào)制的脈沖增加脈沖調(diào)制分辨率。不過減少可見閃爍后的發(fā)光二極管閃爍頻率還是很高的,讓極光看上去的刷新率比123Hz高的多。

            看一下時序表,我取了7個發(fā)光二極管的R/G/B總線信號來說明我的概念。正如你所見,R/G/B通道間隔著輪流點亮,這些脈沖控制著發(fā)光二極管確切的點亮?xí)r段。當(dāng)R/G/B總線中任意一個處在高電平時,LED就會點亮??偟狞c亮?xí)r段和顏色則取決于R/G/B總線的高電平組合。

            第3步電路板

            雙層的電路板就可以了,全彩的LED管腳挺粗的,焊盤要大點。

            第4步元件清單

            電阻

            4x 47 Ohm (0603)

            162x 150Ohm (0603)

            9x 220 Ohm (0603)

            13x 1k Ohm (0603)

            4x 10k Ohm (0603)  電容

            1x 0.1uF (0603)

            2x 10uF (1206)

            1x 22uF (1210)

            三極管和MOSFET管

            3x DMP3098L

            9x MMBT2222A

            單片機(jī)

            1x PIC24FV16KA301

            紅外接收頭

            1x VS1838

            輕觸開關(guān)

            1x Tactile Switch

            全彩LED(共陰)

            162x Tricolor LED (common-cathode)

            我在制作過程中所用到的工具:

            良好的燈光

            放大鏡-焊接完檢測是否有短路或者虛焊

            鑷子-貼片元件的拾取

            可調(diào)溫的防靜電電烙鐵-我的的是936焊臺,一般調(diào)溫烙鐵的請注意接地防靜電

            烙鐵頭-看個人焊接習(xí)慣而定,我用2C焊貼片,尖頭焊LED,馬蹄焊單片機(jī)

            焊錫-看個人焊接習(xí)慣而定,貼片用的是0.4mm,LED用的是1mm

            松香-必需品

            吸錫器-很重要,比吸錫帶用起來要方便多了

            鉗子-LED引腳剪切

            剪刀-常用

            電線-常用

            Microchip PICKIT3編程器-對單片機(jī)PIC24FV16KA301燒寫程序

            第5步組裝步驟

            先焊接單片機(jī)PIC24FV16KA301,然后由內(nèi)向外焊接所有的貼片阻容元件,焊完檢查OK后再焊接LED。

            電路板的擺放-我焊接時電路板按如圖1方向放置,后面所有的圖片電路板都將按這個方向放置。

            所有貼片元件焊完了,仔細(xì)檢查一下,確保沒有短路,虛焊的現(xiàn)象,150歐的電阻特別要注意,因為LED焊上去后,這個電阻就很難再焊了,除非把LED拆下來...

            LED安裝時分18個扇區(qū),每扇區(qū)9個,先插入LED,往中間擠一下,使得LED的引腳和焊盤完全接觸。然后接上電源,按動輕觸開關(guān)到純色模式,這時請檢測LED是否工作正常,紅,綠,藍(lán)三色是否都亮,顏色亮度是否一致,不一致的請?zhí)舫鰜恚抑谱飨聛恚?62顆LED中有三個特別亮。

            需要注意LED的方向,圖上紅色箭頭的LED的那端是平的,LED另一頭是圓的,如果插反的話LED是不會亮的哦?! ?strong style="word-break: break-all; ">第6步電源

            電源可以使用單節(jié)鋰電池,可以使用5V穩(wěn)壓電源,可以使用3節(jié)或4節(jié)接鎳氫電池串聯(lián),可以從USB接口取電。

            需要注意的是電路為了減小體積,沒有加電源穩(wěn)壓和防接反電路,所以電源千萬別接反,特別是測試時,看看清楚再接上。電源電壓不要超過5.5V,超過單片機(jī)要損壞的。

            自己加個電源接口會方便很多。

            第7步遙控器與控制操作

            程序中遙控代碼使用的是SONY的代碼,需要改成其他遙控器的定義需要自己改變include的文件

            程序中使用下圖紅色的5向鍵,上下為模式切換,左右為速度變化,中間為暫停/啟動。

            我手頭只有SONY兼容小遙控器,沒有5向鍵,所以改了一下代碼,其他功能鍵都和原來保持一致。

            第8步軟件

            編譯軟件我用用的是MPLAB IDE v8.80,現(xiàn)在最新的版本是v8.88, MPLAB X IDE沒試過,應(yīng)該也是可以的。

            軟件可以在如下鏈接下 載,軟件是免費(fèi)全功能的,24FV系列單片機(jī)用的是16位的匯編語言

            http://www.microchip.com/stellen... p;dDocName=en019469

            單片機(jī)PIC24FV16KA301需要使用PICKIT3編程,PICKIT2肯定不支持,ICD2.5應(yīng)該也可以的。

            單片機(jī)PIC24FV16KA301數(shù)據(jù)手冊下載鏈接

            http://ww1.microchip.com/downloads/en/DeviceDoc/39995c.pdf



          關(guān)鍵詞: RGBLED極光霧狀LED

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();