99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

利用Android應(yīng)用程序進(jìn)行智能燈泡的無線控制方案

電子設(shè)計(jì) ? 來源:Dialog半導(dǎo)體 ? 作者:Anas Ajaj ? 2021-04-07 17:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

智能燈泡最近已經(jīng)越來越流行,并且正穩(wěn)步成為智能家居工具包的關(guān)鍵部分。智能燈泡使用戶可以通過用戶智能手機(jī)上的特殊應(yīng)用程序來控制其燈光??梢源蜷_和關(guān)閉燈泡,并且可以從應(yīng)用程序界面更改顏色。在本文中,我們將描述一個(gè)實(shí)現(xiàn)智能燈泡控制器的項(xiàng)目,該控制器可以通過手動(dòng)按鈕或移動(dòng)應(yīng)用程序通過藍(lán)牙進(jìn)行控制。為了給該項(xiàng)目增加一些個(gè)性,我們添加了一些功能,這些功能使用戶可以從應(yīng)用程序界面中包含的顏色列表中選擇一種照明顏色。它還可以激活“自動(dòng)混合”以生成色彩效果并每半秒鐘更改一次照明。用戶可以使用PWM功能創(chuàng)建其色彩混合,該功能也可以用作三種基本顏色(紅色,綠色,藍(lán)色)的調(diào)光器。我們還在電路中添加了外部按鈕,以便用戶可以切換到手動(dòng)模式并通過外部按鈕更改燈的顏色。

本文由兩部分組成;GreenPAK?設(shè)計(jì)(請(qǐng)參閱其他應(yīng)用程序示例)和Android應(yīng)用程序設(shè)計(jì)。GreenPAK設(shè)計(jì)基于使用UART接口進(jìn)行通信。選擇UART是因?yàn)榇蠖鄶?shù)藍(lán)牙模塊以及大多數(shù)其他外圍設(shè)備(例如WIFI模塊)都支持UART。因此,GreenPAK設(shè)計(jì)可用于多種連接類型。

為了構(gòu)建該項(xiàng)目,我們將使用SLG46620CMIC,藍(lán)牙模塊和RGB LED。
GreenPAK IC將成為該項(xiàng)目的控制核心。它從藍(lán)牙模塊和/或外部按鈕接收數(shù)據(jù),然后開始所需的步驟以顯示正確的照明。
它還產(chǎn)生PWM信號(hào)并將其輸出到LED。下面的圖1顯示了框圖。

o4YBAGBtc5uACTP6AABxTvUAEws866.png

圖1:框圖

該項(xiàng)目中使用的GreenPAK器件在一個(gè)IC中包含一個(gè)SPI連接接口,PWM模塊,F(xiàn)SM和許多其他有用的附加模塊。它還具有體積小,能耗低的特點(diǎn)。這將使制造商能夠使用單個(gè)IC來構(gòu)建小型實(shí)用電路,從而與類似系統(tǒng)相比可將生產(chǎn)成本降至最低。

在此項(xiàng)目中,我們將控制一個(gè)RGB LED。為了使該項(xiàng)目在商業(yè)上可行,系統(tǒng)可能需要通過并聯(lián)連接多個(gè)LED并使用適當(dāng)?shù)?a target="_blank">晶體管來提高發(fā)光度。電源電路也必須考慮在內(nèi)。該項(xiàng)目已實(shí)施并進(jìn)行了審查。

GreenPAK設(shè)計(jì)

在GreenPAK Designer軟件中實(shí)現(xiàn)的設(shè)計(jì)包括UART接收器,PWM單元和控制單元(可以在此處找到整個(gè)設(shè)計(jì)文件)

a)UART接收器

首先,我們需要設(shè)置藍(lán)牙模塊。大多數(shù)藍(lán)牙IC支持UART協(xié)議進(jìn)行通信。UART代表通用異步接收器/發(fā)送器。UART可以在并行和串行格式之間來回轉(zhuǎn)換數(shù)據(jù)。它包括一個(gè)串行到并行的接收器和一個(gè)并行到串行的轉(zhuǎn)換器,它們都分別時(shí)鐘控制。

藍(lán)牙模塊中接收到的數(shù)據(jù)將被傳輸?shù)轿覀兊腉reenPAK設(shè)備。Pin10的空閑狀態(tài)為高電平。發(fā)送的每個(gè)字符均以邏輯低起始位開始,隨后是可配置數(shù)量的數(shù)據(jù)位和一個(gè)或多個(gè)邏輯高終止位。

UART發(fā)送器發(fā)送1個(gè)START位,8個(gè)數(shù)據(jù)位和1個(gè)STOP位。通常,UART藍(lán)牙模塊的默認(rèn)波特率是9600。我們會(huì)將數(shù)據(jù)字節(jié)從藍(lán)牙IC發(fā)送到GreenPAK。SLG46620的SPI模塊。

由于GreenPAK SPI模塊沒有START或STOP位控制,因此我們將使用這些位來啟用和禁用SPI時(shí)鐘信號(hào)(SCLK)。當(dāng)Pin10變?yōu)長OW時(shí),我們知道我們已經(jīng)收到一個(gè)START位,因此我們使用PDLY下降沿檢測(cè)器來識(shí)別通信的開始。該下降沿檢測(cè)器為DFF0提供時(shí)鐘,從而使SCLK信號(hào)為SPI模塊提供時(shí)鐘。

我們的波特率為每秒9600位,因此我們的SCLK周期需要為1/9600 = 104 μs。因此,我們將OSC頻率設(shè)置為2MHz,并使用CNT0作為分頻器。

2 MHz – 1 = 0.5 μs

(104 μs / 0.5 μs)– 1 = 207

因此,我們希望CNT0計(jì)數(shù)器的值為207。為確保不會(huì)丟失任何數(shù)據(jù),我們需要將SPI時(shí)鐘延遲半個(gè)時(shí)鐘周期,以便在適當(dāng)?shù)臅r(shí)間為SPI模塊計(jì)時(shí)。我們通過使用CNT6、2位LUT1和OSC模塊的外部時(shí)鐘來完成此操作。CNT6的輸出直到DFF0被計(jì)時(shí)后的52 μs才變?yōu)楦唠娖剑@是我們104 μs SCLK周期的一半。當(dāng)CNT6為高電平時(shí),2位LUT1 AND門允許2MHz OSC信號(hào)進(jìn)入EXT。CLK0輸入,其輸出連接到CNT0。

pIYBAGBtc6yAd0zJAAETxCWurrs807.png

圖2:系統(tǒng)圖

b)PWM單元

使用PWM0和相關(guān)的時(shí)鐘脈沖發(fā)生器(CNT8 / DLY8)產(chǎn)生PWM信號(hào)。由于脈沖寬度是用戶可控制的,因此我們使用FSM0(可以連接到PWM0)對(duì)用戶數(shù)據(jù)進(jìn)行計(jì)數(shù)。

在SLG46620中,8位FSM1可與PWM1和PWM2一起使用。必須連接藍(lán)牙模塊,這意味著必須使用SPI并行輸出。SPI并行輸出位0到7與DCMP1,DMCP2和LF OSC CLK的OUT1和OUT0復(fù)用。PWM0從16位FSM0獲得其輸出。保持不變,這將導(dǎo)致脈沖寬度過載。為了將計(jì)數(shù)器值限制為8位,添加了另一個(gè)FSM。FSM1用作指針,以了解計(jì)數(shù)器何時(shí)達(dá)到0或255。FSM0用于生成PWM脈沖。FSM0和FSM1必須同步。由于兩個(gè)FSM都有預(yù)設(shè)的時(shí)鐘選項(xiàng),因此CNT1和CNT3用作將CLK傳遞給兩個(gè)FSM的中介。這兩個(gè)計(jì)數(shù)器被設(shè)置為相同的值,對(duì)于本文來說是25。我們可以通過更改這些計(jì)數(shù)器值來更改PWM值的變化率。

FSM的值通過來自SPI并行輸出的信號(hào)“ +”和“-”來增加和減少。

pIYBAGBtc7uABdn-AACc2WPqhc8019.png

圖3:PWM單元設(shè)計(jì)

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

LUT9,LUT11和LUT14負(fù)責(zé)檢查其他兩個(gè)LED的狀態(tài)。LUT10,LUT12和LUT13檢查“手動(dòng)”按鈕是否已激活。如果啟用了“手動(dòng)”模式,則RGB輸出將根據(jù)D0,D1,D2輸出狀態(tài)進(jìn)行操作,每次按“顏色”按鈕都會(huì)更改這些狀態(tài)??。它隨著來自CNT9的上升沿而變化,CNT9用作上升沿去抖動(dòng)器。

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

如果禁用了手動(dòng)模式并激活了自動(dòng)混頻器模式,則顏色每500毫秒更改一次,且上升沿來自CNT7。4位LUT1用于防止D0 D1 D2處于'000'狀態(tài),因?yàn)檫@種狀態(tài)會(huì)導(dǎo)致在自動(dòng)混頻器模式下燈熄滅。

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

pIYBAGBtc8iAeLbyAAFPgITYm7U743.png

圖4:系統(tǒng)圖

DFF1,DFF2和DFF3用于構(gòu)建3位二進(jìn)制計(jì)數(shù)器。在自動(dòng)混頻器模式下,計(jì)數(shù)器值隨著通過P14的CNT7脈沖或在手動(dòng)模式下從“顏色”按鈕(PIN3)發(fā)出的信號(hào)而增加。

Android應(yīng)用程式

在本節(jié)中,我們將構(gòu)建一個(gè)Android應(yīng)用程序,該應(yīng)用程序?qū)⒈O(jiān)視和顯示用戶的控件選擇。該界面包括兩個(gè)部分:第一部分包含一組具有預(yù)定義顏色的按鈕,以便在按下這些按鈕中的任何一個(gè)時(shí),相同顏色的LED會(huì)點(diǎn)亮。第二部分(MIX正方形)為用戶創(chuàng)建混合色。

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

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

我們使用MIT應(yīng)用程序發(fā)明者網(wǎng)站構(gòu)建了該應(yīng)用程序。該站點(diǎn)允許您在沒有使用圖形軟件模塊的軟件經(jīng)驗(yàn)的情況下構(gòu)建Android應(yīng)用程序。

首先,我們通過添加一組按鈕來顯示預(yù)定義的顏色來設(shè)計(jì)圖形界面,還添加了兩個(gè)復(fù)選框列表,每個(gè)列表包含3個(gè)元素。每個(gè)元素都在其單獨(dú)的框中概述,如圖5所示。

pIYBAGBtc9aAYFE8AAB3k5Iuknc863.png

圖5:應(yīng)用程序界面

用戶界面中的按鈕鏈接到軟件命令:應(yīng)用程序?qū)⑼ㄟ^藍(lán)牙發(fā)送的所有命令均采用字節(jié)格式,每個(gè)位負(fù)責(zé)特定功能。
表1顯示了發(fā)送到GreenPAK的命令幀的形式。

pIYBAGBtc-KAWTU0AAA8ERPhnfk979.png

表1:位幀表示

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

pIYBAGBtc-6AENLxAACQUtuFahE263.png

表2:命令位代表

位B3和B4包含“ +”和“-”命令,負(fù)責(zé)增加和減少脈沖寬度。按下按鈕時(shí),位值為1;釋放按鈕時(shí),位值為0。

B5和B6位負(fù)責(zé)選擇PWM信號(hào)將通過的引腳(顏色):這些位的顏色標(biāo)識(shí)如表3所示。最后一位B7負(fù)責(zé)激活自動(dòng)混頻器。

pIYBAGBtc_mAUsovAAA8_TZ3Xn4642.png

表3:PWM通道選擇位

圖6和圖7演示了將按鈕與編程塊鏈接的過程,這些編程塊負(fù)責(zé)發(fā)送先前的值。

o4YBAGBtdASAdJk9AAHwXHoko3g890.png

圖6:按鈕編程塊

o4YBAGBtdBWAE2AMAAFoueg1MW4199.png

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

下面的圖8顯示了頂層電路圖

o4YBAGBtdCSAYwLXAACDVvlid3s789.png

圖8:電路圖

該控制器已經(jīng)過成功測(cè)試,并且顏色混合以及其他功能都可以正常工作。

結(jié)論

在本文中,構(gòu)建了一個(gè)智能燈泡電路以由Android應(yīng)用程序進(jìn)行無線控制。該項(xiàng)目中使用的GreenPAK CMIC還有助于縮短照明控制的必要組件并將其嵌入到一個(gè)小型IC中。

編輯:hfy

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

    關(guān)注

    10

    文章

    844

    瀏覽量

    46888
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2290

    瀏覽量

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

    關(guān)注

    1934

    文章

    9782

    瀏覽量

    190255
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1275

    瀏覽量

    103673
  • 智能燈泡
    +關(guān)注

    關(guān)注

    5

    文章

    76

    瀏覽量

    35875
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    靈感智能燈具家庭控制

    ` LINGAN智能燈具家庭控制  該燈泡方案基于TI CC2530芯片研發(fā),它使用智能手機(jī)APP跟遙控器操控,同時(shí)支持蘋果IOS及
    發(fā)表于 02-03 09:44

    智能燈具家庭控制方案

    `靈感智能燈具家庭控制  該燈泡方案基于TI CC2530芯片研發(fā),它使用智能手機(jī)APP跟遙控器操控,同時(shí)支持蘋果IOS及
    發(fā)表于 02-18 10:07

    zigbee控制方案!

    `LINGAN智能燈具家庭控制  該燈泡方案基于TI CC2530芯片研發(fā),它使用智能手機(jī)APP跟遙控器操控,同時(shí)支持蘋果IOS及
    發(fā)表于 02-26 13:45

    Android應(yīng)用程序的耗電量如何控制

    如何才能降低Android應(yīng)用程序的耗電量呢?今天再一次回顧了一下09年Google IO大會(huì)Jeffrey Sharkey的演講(Coding for Life — Battery Life, That Is),與大家一起分享有效控制
    發(fā)表于 07-18 08:31

    Android應(yīng)用程序通過JNI控制LED的流程概述

    Android應(yīng)用程序通過JNI控制LED
    發(fā)表于 09-16 08:08

    求基于Cortex-M3與Android智能家居控制系統(tǒng)解決方案

    【摘要】本文提出了一種基于Cortex-M3與Android智能家居控制系統(tǒng)解決方案。系統(tǒng)采用智能手機(jī)作為
    發(fā)表于 08-05 07:57

    無法在Nanoleaf Android應(yīng)用程序上找到OTBR怎么解決?

    的 E26 智能燈泡。但是我無法在我的 Nanoleaf Android 應(yīng)用程序上找到 OTBR。 我需要 OTBR 方面的任何證書嗎?
    發(fā)表于 06-08 08:23

    利用FTP實(shí)現(xiàn)應(yīng)用程序的遠(yuǎn)程更新

    FTP (File Transfer Protocol),是用于Internet上的控制文件的雙向傳輸?shù)膮f(xié)議。同時(shí),它也是一個(gè)應(yīng)用程序。本方案主要介紹如何利用網(wǎng)絡(luò)(以太網(wǎng)、GPRS上網(wǎng)
    發(fā)表于 06-09 16:08 ?46次下載

    Android應(yīng)用程序GUI遍歷自動(dòng)化方法

    移動(dòng)終端上各式各樣的應(yīng)用程序數(shù)量呈爆炸性增長,其中Android應(yīng)用程序更是占據(jù)了絕對(duì)的優(yōu)勢(shì)。Android應(yīng)用程序分析已經(jīng)成為一個(gè)研究熱點(diǎn)
    發(fā)表于 12-09 11:06 ?0次下載
    <b class='flag-5'>Android</b><b class='flag-5'>應(yīng)用程序</b>GUI遍歷自動(dòng)化方法

    如何通過Android應(yīng)用程序控制LED燈

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

    為什么智能燈泡也會(huì)容易受到網(wǎng)絡(luò)黑客的攻擊

    智能燈泡——比如來自Signify公司(原飛利浦照明,世界上最大的照明公司,2018年3月改名Signify)的飛利浦hue——可以對(duì)智能手機(jī)app和其他無線
    的頭像 發(fā)表于 03-15 12:57 ?3030次閱讀

    STM32智能小車的試用Android應(yīng)用程序包免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32智能小車的試用Android應(yīng)用程序包免費(fèi)下載
    發(fā)表于 03-19 16:03 ?17次下載
    STM32<b class='flag-5'>智能</b>小車的試用<b class='flag-5'>Android</b><b class='flag-5'>應(yīng)用程序</b>包免費(fèi)下載

    Linux上運(yùn)行Android應(yīng)用程序方案

    目前Android上的應(yīng)用已經(jīng)非常豐富,一些應(yīng)用非常不錯(cuò)。想在Linux上使用安卓應(yīng)用嗎,想在Linux上玩Android游戲嗎,這里有幾個(gè)不錯(cuò)的方案,但效果最好的選項(xiàng)是Anbox,這是一個(gè)非常有用的工具,無需仿真即可在Linu
    發(fā)表于 07-13 14:23 ?3020次閱讀
    Linux上運(yùn)行<b class='flag-5'>Android</b><b class='flag-5'>應(yīng)用程序</b>的<b class='flag-5'>方案</b>

    Android應(yīng)用程序控制的機(jī)器人車

    電子發(fā)燒友網(wǎng)站提供《Android應(yīng)用程序控制的機(jī)器人車.zip》資料免費(fèi)下載
    發(fā)表于 11-08 15:38 ?0次下載
    <b class='flag-5'>Android</b><b class='flag-5'>應(yīng)用程序控制</b>的機(jī)器人車

    android手機(jī)上emulate應(yīng)用程序的方法

    Android手機(jī)上模擬(emulate)應(yīng)用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實(shí)際物理設(shè)備的情況下運(yùn)行
    的頭像 發(fā)表于 12-05 15:33 ?1158次閱讀