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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GreenPAK設(shè)計(jì)和安卓應(yīng)用程序設(shè)計(jì)

z2Pt_Dia ? 來(lái)源:Dialog半導(dǎo)體公司 ? 作者:Dialog半導(dǎo)體公司 ? 2021-12-25 17:15 ? 次閱讀

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

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

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

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

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

在這個(gè)項(xiàng)目中,我們將控制一個(gè)RGB LED。為了使該項(xiàng)目具有商用可行性,系統(tǒng)可能需要通過(guò)并聯(lián)多個(gè)LED并使用適當(dāng)?shù)?a target="_blank">晶體管來(lái)提高亮度等級(jí);電源電路也需要考慮。我們對(duì)該項(xiàng)目完成了實(shí)現(xiàn)和檢驗(yàn)。

GreenPAK設(shè)計(jì)

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

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

a) UART接收器

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

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

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

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

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

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

b) PWM功能單元

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

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

FSM的值由來(lái)自SPI并行輸出模塊的信號(hào)“+”和“-”來(lái)增加和減少。

c) 控制單元

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

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

Pin 20配置為輸入,用于在手動(dòng)控制模式和藍(lán)牙控制模式之間切換。

如果禁用手動(dòng)模式并開(kāi)啟自動(dòng)混合模式,則顏色每500毫秒改變一次,上升沿來(lái)自CNT7。4-bit LUT1 用于防止D0 D1 D2處于“000”狀態(tài),因?yàn)樵摖顟B(tài)會(huì)導(dǎo)致燈在自動(dòng)混合模式時(shí)關(guān)閉。

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

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

安卓應(yīng)用程序

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

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

自動(dòng)混合按鈕負(fù)責(zé)運(yùn)行自動(dòng)換燈光模式,每半秒換一次燈光。MIX部分包含兩個(gè)復(fù)選框列表,用戶可以決定將哪兩種顏色混合在一起。

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

我們最初設(shè)計(jì)的圖形界面添加了一組負(fù)責(zé)顯示預(yù)定義顏色的按鈕,我們還添加了兩個(gè)復(fù)選框列表,每個(gè)列表有3個(gè)元素;每個(gè)元素都在其單獨(dú)的框中顯示,如圖5所示。

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

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

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

B3和B4 bit控制“+”和“-”命令,它們負(fù)責(zé)增加和減少脈沖寬度。按下按鈕時(shí)bit值為1,松開(kāi)按鈕時(shí)bit值為0。

B5和B6 bit負(fù)責(zé)選擇PWM信號(hào)將通過(guò)的引腳(顏色):這些bit的顏色指定如表3所示。最后一個(gè)bit B7負(fù)責(zé)激活自動(dòng)混合功能。

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

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

結(jié)論

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

原文標(biāo)題:通過(guò)藍(lán)牙控制RGB LED顏色

文章出處:【微信公眾號(hào):Dialog半導(dǎo)體公司】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23296

    瀏覽量

    661301
  • 智能家居
    +關(guān)注

    關(guān)注

    1928

    文章

    9571

    瀏覽量

    185328
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3277

    瀏覽量

    57737

原文標(biāo)題:通過(guò)藍(lán)牙控制RGB LED顏色

文章出處:【微信號(hào):Dialog半導(dǎo)體公司,微信公眾號(hào):Dialog半導(dǎo)體公司2】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AIC3262 CODEC能否在下運(yùn)用?

    我們有多路音頻混音應(yīng)用需求(雙路MIC. LINE IN, I2S 音源輸入,耳機(jī)輸出監(jiān)聽(tīng)及混音后錄音),針對(duì)混音還有通過(guò)DSP 作混響, 10段EQ應(yīng)用, 該裝置需要在環(huán)境下運(yùn)行。不知TI AIC3262 CODEC能否在
    發(fā)表于 10-29 08:19

    第5章 MATLAB程序設(shè)計(jì).ppt

    第5章 MATLAB程序設(shè)計(jì)
    發(fā)表于 10-24 16:40 ?0次下載

    請(qǐng)問(wèn)TAS5558有的驅(qū)動(dòng)可以提供嗎?

    請(qǐng)問(wèn)TAS5558有的驅(qū)動(dòng)可以提供嗎
    發(fā)表于 10-12 06:19

    杰和科技RK系列解決方案,支持系統(tǒng),4K視頻顯示輸出

    系統(tǒng)的開(kāi)放性和兼容性使其能夠支持各種應(yīng)用程序和視頻播放格式。該系統(tǒng)允許商顯自助終端設(shè)備輕松集成各種內(nèi)容源,使得各終端設(shè)備在商業(yè)環(huán)境中更加靈活,搭配高清視頻接口如HDMI2.1和DP2.0,能進(jìn)
    的頭像 發(fā)表于 09-11 16:43 ?441次閱讀
    杰和科技RK系列解決方案,支持<b class='flag-5'>安</b><b class='flag-5'>卓</b>系統(tǒng),4K視頻顯示輸出

    FX3在系統(tǒng)上顯示為\"DDC\",有什么辦法可以定義這個(gè)字符串嗎?

    正如標(biāo)題所說(shuō),當(dāng)我將 FX3 插入設(shè)備時(shí),會(huì)詢(xún)問(wèn)應(yīng)用程序是否可以訪問(wèn)\"DDC\" 。 有什么辦法可以定義這個(gè)字符串嗎? 謝謝!
    發(fā)表于 07-03 08:15

    淺析工控主板的優(yōu)勢(shì)

    工控主板作為專(zhuān)為工業(yè)控制領(lǐng)域設(shè)計(jì)的硬件平臺(tái),相較于普通商用主板,擁有諸多優(yōu)勢(shì),以滿足工業(yè)環(huán)境對(duì)穩(wěn)定、可靠、長(zhǎng)期運(yùn)行的嚴(yán)格要求。以下是工控主板的主要優(yōu)勢(shì)分析:
    的頭像 發(fā)表于 06-27 14:50 ?335次閱讀

    makefile中啟用了OTA_FW_UPGRADE:=1,應(yīng)用程序崩潰的原因?怎么解決?

    在手表應(yīng)用程序中,makefile 中啟用了 OTA_FW_UPGRADE:=1,并嘗試從 MTB 庫(kù)中的 LE OTA APP()使用 OTA 升級(jí)固件,在更新了 ota.bin 文件后點(diǎn)擊 UPDATE,
    發(fā)表于 06-03 07:11

    蘋(píng)果將開(kāi)發(fā)手機(jī)TV+應(yīng)用

    近日,蘋(píng)果公司宣布正在積極招募高級(jí)工程師,旨在為其在平臺(tái)上開(kāi)發(fā)一款全新的電視和體育應(yīng)用程序。這一舉措標(biāo)志著蘋(píng)果終于將其備受歡迎的TV+服務(wù)引入到了競(jìng)爭(zhēng)對(duì)手的智能手機(jī)平臺(tái)。
    的頭像 發(fā)表于 05-31 09:35 ?698次閱讀

    最簡(jiǎn)單的C程序設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《最簡(jiǎn)單的C程序設(shè)計(jì).pptx》資料免費(fèi)下載
    發(fā)表于 05-28 16:41 ?10次下載

    算法-程序設(shè)計(jì)的靈魂

    電子發(fā)燒友網(wǎng)站提供《算法-程序設(shè)計(jì)的靈魂.pptx》資料免費(fèi)下載
    發(fā)表于 05-28 16:39 ?3次下載

    程序設(shè)計(jì)基礎(chǔ)教程

    電子發(fā)燒友網(wǎng)站提供《程序設(shè)計(jì)基礎(chǔ)教程.pptx》資料免費(fèi)下載
    發(fā)表于 05-28 16:37 ?1次下載

    15調(diào)整存儲(chǔ)設(shè)置,系統(tǒng)細(xì)分系統(tǒng)文件與臨時(shí)文件

    目前,手機(jī)用戶在存儲(chǔ)設(shè)置中可查看各類(lèi)型文件占用空間的詳細(xì)數(shù)據(jù),如應(yīng)用程序、文檔、圖片、游戲、音頻等,以及“系統(tǒng)”(System)空間內(nèi)的基本系統(tǒng)文件所占空間大小。
    的頭像 發(fā)表于 05-17 14:32 ?705次閱讀

    谷歌15優(yōu)化“強(qiáng)制深色”底層算法:適配更多應(yīng)用、界面更有沉浸感

    據(jù)Android Authority報(bào)告,谷歌已計(jì)劃將“所有應(yīng)用程序變暗”這一特性納入即將推出的15操作系統(tǒng)中。即便某些應(yīng)用并不支持深色模式,谷歌也會(huì)通過(guò)強(qiáng)制手段使這些應(yīng)用變?yōu)樯钌?/div>
    的頭像 發(fā)表于 04-26 09:46 ?480次閱讀

    如何在系統(tǒng)上通過(guò)藍(lán)牙控制Cypress CYW20730?

    嗨,我想開(kāi)發(fā)一個(gè) CAN 連接到賽普拉斯CYW20730芯片的Android應(yīng)用程序。 實(shí)際上,一些主動(dòng)快門(mén) 3D 眼鏡使用了這個(gè)芯片,我想建立藍(lán)牙連接來(lái)打開(kāi)和關(guān)閉眼鏡鏡片。 我下載了您的 2
    發(fā)表于 03-01 11:58

    手機(jī)定制_基于天璣900的手機(jī)主板方案

    手機(jī)定制_基于天璣900的手機(jī)主板方案。5G手機(jī)方案是一款性能強(qiáng)勁的5G智能手機(jī),采
    的頭像 發(fā)表于 01-24 19:41 ?701次閱讀
    <b class='flag-5'>安</b><b class='flag-5'>卓</b>手機(jī)定制_基于天璣900的手機(jī)<b class='flag-5'>安</b><b class='flag-5'>卓</b>主板方案