久久99国产精品成人,AV女优在线不卡,国产全肉乱妇杂乱视频,日韩色图网站

你的位置:首頁 > 光電顯示 > 正文

通過藍牙控制RGB LED顏色

發(fā)布時間:2022-01-29 來源:Dialog 責任編輯:wenwei

【導讀】智能燈越來越受歡迎,并且正在穩(wěn)步成為智能家居的關(guān)鍵部分。智能燈使用戶能夠通過智能手機上的應用程序控制燈光,可以在APP界面打開和關(guān)閉燈,也可以調(diào)節(jié)顏色。在本文中,我們將介紹一個如何實現(xiàn)智能燈控制器的項目,可以手動按鈕或用移動APP通過藍牙進行控制。為了給這個項目增加一些特色,我們添加了一些功能,允許用戶從APP界面中包含的顏色列表中選擇照明顏色。還可以激活“自動混合”以產(chǎn)生彩色效果,也可以每半秒改變一次燈光。用戶可以使用PWM功能創(chuàng)建自己的顏色混合,該功能也可以用作三種基本顏色(紅色、綠色、藍色)的調(diào)光器。我們還在電路中添加了外部按鈕,以便用戶可以切換到手動模式并通過外部按鈕調(diào)換燈光顏色。


本文由兩部分組成:GreenPAK?設計和安卓應用程序設計。GreenPAK設計基于使用UART接口進行通信。選擇UART是因為大多數(shù)藍牙模塊以及大多數(shù)其他外設(例如Wi-Fi模塊)都支持它。 因此,GreenPAK設計可用于多種連接類型。


為了創(chuàng)建這個項目,我們將使用SLG46620 GreenPAK IC、一個藍牙模塊和一個RGB LED。


GreenPAK IC將是該項目的控制核心:它從藍牙模塊和/或外部按鈕接收數(shù)據(jù),然后開始所需的程序來顯示正確的照明。它還生成PWM信號并將其輸出到LED。下面的圖1展示了功能框圖。


1.png

圖1:框圖


該項目中使用的GreenPAK器件在單顆IC中包含了一個SPI連接接口、PWM功能塊、FSM和許多其他有用的附加功能塊。它還具有體積小、能耗低的特點。這使得制造商能用單個IC構(gòu)建小型實用電路,從而降低生產(chǎn)成本。


在這個項目中,我們將控制一個RGB LED。為了使該項目具有商用可行性,系統(tǒng)可能需要通過并聯(lián)多個LED并使用適當?shù)木w管來提高亮度等級;電源電路也需要考慮。我們對該項目完成了實現(xiàn)和檢驗。


GreenPAK設計


在GreenPAK Designer軟件中實現(xiàn)的設計由UART接收器、PWM單元和控制單元組成(完整的設計文件可從以下鏈接下載)。


https://www.dialog-semiconductor.com/sites/default/files/an-cm-273_gp.zip


a) UART接收器


首先,我們需要設置藍牙模塊。大多數(shù)藍牙IC支持UART協(xié)議進行通信。UART是通用異步收發(fā)傳輸器,可以將數(shù)據(jù)在并行和串行格式之間相互轉(zhuǎn)換。它包括一個串行到并行接收器,和一個并行到串行轉(zhuǎn)換器,它們都單獨計時。


藍牙模塊中接收到的數(shù)據(jù)將傳輸?shù)紾reenPAK器件。Pin10的空閑狀態(tài)為高(HIGH)。發(fā)送的每個字符都以邏輯“低起始位(Low Start bit)”開頭,然后是可配置數(shù)量的數(shù)據(jù)位(bit)和一個或多個邏輯“高停止位(High Stop bit)”。


UART發(fā)送器發(fā)送1個低起始位(Low Start bit)、8個數(shù)據(jù)位(bit)和1個高停止位(High Stop bit)。通常,藍牙模塊的UART默認波特率為9600。我們將從藍牙IC發(fā)送數(shù)據(jù)字節(jié)到GreenPAK。


由于GreenPAK SPI功能塊沒有低起始位(Low Start bit)或高停止位(High Stop bit)控制,我們將使用這些位(bit)來啟用和禁用SPI時鐘信號(SCLK)。當Pin10變低(LOW)時,我們知道我們收到了一個低起始位(Low Start bit),因此我們使用GreenPAK 內(nèi)部的PDLY配置為下降沿檢測器來識別通信的開始。該下降沿檢測器為GreenPAK 內(nèi)部的DFF0提供觸發(fā)時鐘,從而啟用SCLK信號為GreenPAK SPI功能塊提供時鐘。


我們將波特率設定為每秒9600 bit/s,對應SCLK周期為1/9600 = 104 μs。因此我們將OSC頻率設置為2MHz,并使用GreenPAK內(nèi)部的CNT0配置為分頻器。為了使接收到的時鐘周期是104 μs,需要將CNT0計數(shù)值設定為2818。


參照圖2中GreenPAK內(nèi)部的可配置單元圖示,為了確保不丟失任何數(shù)據(jù),我們需要將SPI時鐘延遲半個時鐘周期,以便SPI功能塊在正確的時間被計時。我們通過使用CNT6、2-bit LUT1和OSC功能塊的外部時鐘來實現(xiàn)這一點。CNT6的輸出直到DFF0被計時后52 μs才會變高,是該SPI的SCLK周期104 μs的一半。當CNT6為高(HIGH)的時侯,配置為與門的2-bit LUT1允許時鐘信號(CLK Begin)進入OSC 的EXT. CLK0輸入,其輸出時鐘信號連接到CNT0的CLK端子。


1640177638723881.png

圖2:系統(tǒng)電路框圖


b) PWM功能單元


參照圖3中GreenPAK內(nèi)部的可配置單元圖示,PWM信號是使用PWM0和相應時鐘脈沖發(fā)生器(CNT8/DLY8)生成的。由于脈沖寬度是用戶可控的,我們使用FSM0(可以連接到PWM0)來統(tǒng)計用戶數(shù)據(jù)。


在SLG46620中,8-bit FSM1可以與PWM1和PWM2結(jié)合使用。需要連接藍牙模塊,即必須使用SPI并行輸出模塊。SPI并行輸出模塊的bit 0~7與DCMP1、DMCP2和LF OSC CLK的OUT1和OUT0組合。PWM0從16-bit FSM0獲得其輸出。如果不改變,這會導致脈沖寬度過載。為了將計數(shù)器值限制在8位(bits),我們添加了另一個FSM:FSM1用作提示計數(shù)器達到0或255的提示器。FSM0用于生成 PWM脈沖,因此FSM0和FSM1必須同步。由于兩個FSM都有預設的時鐘選項,因此CNT1和CNT3用作將CLK傳遞給兩個FSM的中間分頻媒介。這兩個計數(shù)器設置為相同的值,在本文中為25。我們可以通過改變這些計數(shù)器值來改變PWM值的變化率。


FSM的值由來自SPI并行輸出模塊的信號“+”和“-”來增加和減少。


1640177622974875.png

圖3:PWM單元設計


c) 控制單元


參照圖4中GreenPAK內(nèi)部的可配置單元圖示,在控制單元內(nèi),接收到的字節(jié)是從藍牙模塊獲取到SPI并行輸出,然后傳遞給相關(guān)的功能模塊。首先,將檢查PWM CS1和PWM CS2輸出,查看PWM模式是否被激活。如果它被激活,它將決定通過LUT4、LUT6和LUT7中的哪個通道輸出PWM。


LUT9、LUT11和LUT14負責檢查其他兩個LED的狀態(tài)。LUT10、LUT12和LUT13檢查手動按鈕是否被激活。如果手動模式處于開啟狀態(tài),則RGB將根據(jù)D0、D1、D2輸出狀態(tài)運行,每次按下顏色按鈕時,這些輸出狀態(tài)會改變。它隨著來自CNT7的上升沿而變化,CNT7用作上升沿信號的去抖動功能。


Pin 20配置為輸入,用于在手動控制模式和藍牙控制模式之間切換。


如果禁用手動模式并開啟自動混合模式,則顏色每500毫秒改變一次,上升沿來自CNT7。4-bit LUT1 用于防止D0 D1 D2處于“000”狀態(tài),因為該狀態(tài)會導致燈在自動混合模式時關(guān)閉。


如果手動模式、PWM模式和自動混合模式未啟用,則紅色、綠色和藍色SPI命令流向引腳12、13和14,這些引腳配置為輸出,并連接到外部RGB LED。


1640177607726712.png

圖4:系統(tǒng)電路框圖


DFF6、DFF7和DFF8用于構(gòu)建3-bit二進制計數(shù)器。計數(shù)器值隨著CNT7脈沖增加,并在MUXs' (GreenPAK邏輯單元LUT10、LUT12、LUT13)的輸入端產(chǎn)生不同的D0,D1,D2邏輯組合。


安卓應用程序


在本節(jié)中,我們將創(chuàng)建一個安卓應用程序,它將監(jiān)測和顯示用戶的控件選擇。界面由兩部分組成:第一部分包含一組具有預定義顏色的按鈕,因此當按下這些按鈕中的任意一個時,相應顏色的LED會亮起。第二部分(MIX方塊)為用戶創(chuàng)建混合顏色。


在第一部分,用戶選擇他們希望PWM信號通過的LED引腳;PWM信號一次只能傳遞到一個引腳。下面的列表在PWM模式期間邏輯地控制其他兩種顏色的開/關(guān)。


自動混合按鈕負責運行自動換燈光模式,每半秒換一次燈光。MIX部分包含兩個復選框列表,用戶可以決定將哪兩種顏色混合在一起。


我們使用MIT App Inventor網(wǎng)站創(chuàng)建了該應用程序。該網(wǎng)站允許用戶在沒有任何軟件經(jīng)驗的情況下,使用圖形軟件塊創(chuàng)建安卓應用程序。


我們最初設計的圖形界面添加了一組負責顯示預定義顏色的按鈕,我們還添加了兩個復選框列表,每個列表有3個元素;每個元素都在其單獨的框中顯示,如圖5所示。


5.png

圖5:App界面


用戶界面中的按鈕與軟件命令相關(guān)聯(lián):應用程序通過藍牙發(fā)送的所有命令都是以字節(jié)格式,每一個bit負責特定的功能。


表1顯示了發(fā)送到GreenPAK的命令幀的形式。


1640177579762836.png

表1:bit幀表示


前三個bit:B0、B1和B2將通過預定義顏色的按鈕在直接控制模式下保持RGB LED的狀態(tài)。因此,當單擊其中任意一個按鈕時,將發(fā)送該按鈕的相應值,如表2所示。


1640177563560608.png

表2:命令bit表示


B3和B4 bit控制“+”和“-”命令,它們負責增加和減少脈沖寬度。按下按鈕時bit值為1,松開按鈕時bit值為0。


B5和B6 bit負責選擇PWM信號將通過的引腳(顏色):這些bit的顏色指定如表3所示。最后一個bit B7負責激活自動混合功能。


1640177549464222.png

表3:PWM通道選擇bit


圖6和圖7展示了將按鈕與負責發(fā)送以上值的編程塊鏈接的過程。


1640177533224038.png

圖6:按鈕的編程塊


1640177522581233.png

圖7:發(fā)送“+”和“-”命令幀


下方圖8為頂層電路圖。


1640177344270940.png

圖8:電路圖


控制器已測試成功,顏色混合以及其他功能均顯示正常工作。


結(jié)論


在本文中,我們創(chuàng)建了一個由安卓應用程序進行無線控制的智能燈電路。該項目中使用的GreenPAK IC有助于將幾個用于控制燈光的基本組件集成到一個小型IC中。



推薦閱讀:


發(fā)揮系統(tǒng)支撐作用開拓碳中和新藍圖,關(guān)鍵技術(shù)助推鋰電儲能多場景加速落地

有刷直流電機的轉(zhuǎn)矩負載、轉(zhuǎn)速、電機電流之間的關(guān)系

搞清楚這一點,輕松抓到你想看的波形

太陽能捕獲效率低?看來你沒選對匹配的前端管理系統(tǒng)

開發(fā)基于碳化硅的25 kW快速直流充電樁:方案概述

特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設備 震動馬達 整流變壓器 整流二極管 整流濾波 直流電機 智能抄表
?

關(guān)閉

?

關(guān)閉