• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于單片機(jī)的WIFI無線操控LED燈的電路設(shè)計(jì)

      2021-10-13 10:25:38鎖萌蔡武德趙昆霞馮瑞寶王天碩
      電子制作 2021年19期
      關(guān)鍵詞:微控制器亮度串口

      鎖萌,蔡武德,趙昆霞,馮瑞寶,王天碩

      (云南師范大學(xué),云南昆明,650500)

      0 引言

      由于無線通信技術(shù)的快速興起,WiFi通信技術(shù)逐步成熟并得到了廣泛關(guān)注。同時(shí)與WiFi領(lǐng)域相關(guān)的研究也逐漸增多[1]。因此,利用WiFi技術(shù)來控制燈光的系統(tǒng)設(shè)計(jì)有了強(qiáng)硬的技術(shù)支持和認(rèn)可。關(guān)于利用WiFi技術(shù)來控制燈光的系統(tǒng)設(shè)計(jì)將基于微控制器STC89C52和ESP8266WiFi通信模塊來實(shí)現(xiàn)。

      1 系統(tǒng)設(shè)計(jì)

      1.1 系統(tǒng)框圖

      系統(tǒng)框圖如圖1所示,包括電源電路、STC89C52單片機(jī)、復(fù)位時(shí)鐘電路、ESP8266WiFi通信模塊、智能手機(jī)和LED燈。該系統(tǒng)設(shè)計(jì)的核心部分是STC89C52微控制器,主要的控制芯片為ESP8266WiFi通信模塊。其中,對LED燈亮度的控制主要通過PWM控制的原理來實(shí)現(xiàn)。

      圖1 系統(tǒng)框圖

      1.2 系統(tǒng)設(shè)計(jì)原理

      在系統(tǒng)工作之前需要給系統(tǒng)上電,同時(shí)ESP8266WiFi通信模塊需要系統(tǒng)提供3.3V的電壓才能正常工作,因此需要供給3.3V的穩(wěn)壓電路,單片機(jī)P1.7腳所連接的LED燈D1是WiFi模塊初始化的指示燈,在給系統(tǒng)上電后,打開自鎖開關(guān)SW1,WiFi模塊開始初始化,D1點(diǎn)亮,當(dāng)D1熄滅時(shí)就說明WiFi模塊的初始化工作已經(jīng)完成。S1為電路中的按鍵,在WiFi模塊初始化完成之后,按下按鍵S1,LED燈D2將被點(diǎn)亮,長按按鍵S1會(huì)使得D2的亮度發(fā)生變化,可以通過按鍵來實(shí)現(xiàn)對LED燈的亮度操控。系統(tǒng)采用的是8550PNP型三極管。在電路中將三極管與LED燈相連接,在低電平的時(shí)候LED燈點(diǎn)亮,當(dāng)?shù)碗娖骄S持的時(shí)間越長,LED燈亮度就越高,低電平維持的時(shí)間越短,LED燈亮度就會(huì)越低,維持時(shí)間的長短可以通過定時(shí)器來實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)原理圖如圖2所示。

      圖2 系統(tǒng)設(shè)計(jì)原理圖

      1.3 系統(tǒng)功能介紹

      該設(shè)計(jì)系統(tǒng)以微控制器STC89C52為核心,將ESP82 66WiFi通信模塊與單片機(jī)建立起串口通信,ESP8266WiFi模塊與手機(jī)APP相連接,作為一個(gè)數(shù)據(jù)的收發(fā)站,將其接收的無線信號轉(zhuǎn)換成串口信號傳遞給微控制器STC89C52,微控制器再對LED燈的亮度以及亮滅進(jìn)行控制,從而實(shí)現(xiàn)手機(jī)APP對LED的無線操控。

      2 硬件電路設(shè)計(jì)

      2.1 LED燈的控制電路設(shè)計(jì)

      2.1.1 LED燈亮滅控制原理

      LED燈連接在STC89C52單片機(jī)的P3口上,LED燈與8550PNP型三極管連接,LED燈的亮滅通過將相應(yīng)程序?qū)雴纹瑱C(jī)來進(jìn)行控制,在低電平的時(shí)候LED燈亮,高電平的時(shí)候LED燈滅。

      2.1.2 LED燈亮度控制原理

      LED燈的亮度與通過其兩端的電流強(qiáng)度成正比。PWM調(diào)光正是利用了這一原理。PWM信號源是PWM調(diào)光時(shí)所需的,驅(qū)動(dòng)器根據(jù)高低電平的不同來打開或者關(guān)閉場效應(yīng)管的柵極,并反復(fù)切換LED驅(qū)動(dòng)器,當(dāng)開關(guān)頻率高于100Hz時(shí),人眼就看不到LED的關(guān)閉,對導(dǎo)通與關(guān)斷時(shí)間進(jìn)行平均,僅看到由占空比決定的亮度,占空比越小,開關(guān)管斷開的時(shí)間越長,因此平均電流會(huì)越小,人眼會(huì)觀察到LED燈的燈光變暗了[2]。由此,為了實(shí)現(xiàn)對LED燈的亮度控制,只需要給單片機(jī)提供寬度不同的數(shù)字脈沖即可。

      2.2 ESP8266WiFi模塊電路設(shè)計(jì)

      2.2.1 ESP8266WiFi模塊介紹

      系統(tǒng)所使用的WiFi模塊為ESP8266WiFi通信模塊[3]。該芯片體積小、價(jià)格較低且性能穩(wěn)定,相比其他芯片性價(jià)比更高。ESP8266WiFi通信模塊在與STC89C52微控制器通信時(shí)使用串行通信的方式進(jìn)行連接,將數(shù)據(jù)通過WiFi傳輸給上位機(jī)是利用ESP8266WiFi通信模塊將傳統(tǒng)的串口設(shè)備進(jìn)行串口配置來實(shí)現(xiàn)的。

      2.2.2 ESP8266WiFi模塊電路工作原理

      圖3為ESP8266WiFi通信模塊的電路設(shè)計(jì)圖。給ESP8266WiFi通信模塊提供一個(gè)3.3V的電壓,使其能夠正常工作。給WiFi模塊的CH_PD引腳一個(gè)3.3V的電壓。微控制器STC89C52的TXD腳與WiFi模塊的URXD引腳連接,GND引腳接地。

      圖3 ESP8266WiFi模塊電路設(shè)計(jì)圖

      3 軟件設(shè)計(jì)

      3.1 ESP8266WiFi模塊的設(shè)置

      軟件設(shè)計(jì)需要先對ESP8266WiFi模塊進(jìn)行初始化,對WiFi模塊的調(diào)試使用串口調(diào)試助手來完成。在配置ESP8266WiFi通信模塊時(shí)將模塊設(shè)置為工作在透傳模式[4]。具體步驟為:

      (1)將芯片的串口比特率設(shè)置為9600Hz:發(fā)送指令A(yù)T+UART=9600, 8, 1, 0, 0;

      (2)將WiFi芯片的模式設(shè)置為AP模式:發(fā)送指令A(yù)T+CWMODE=2;

      (3)重新啟動(dòng)WiFi模塊以使應(yīng)用程序模式更改有效:發(fā)送指令A(yù)T+RST;

      (4)設(shè)置WiFi模塊的名字和密碼,把WiFi的名稱設(shè)置為“SuoMeng_01”,WiFi密碼設(shè)置為“12345”:發(fā)送指令A(yù)T+CWSAP=" SuoMeng_01",“12345”, 5,3;

      (5)設(shè)置為允許多連接,ESP8266WiFi模塊最多允許5個(gè)客戶端連接,其根據(jù)連接的先后順序給每個(gè)客戶端相應(yīng)地分配ID為0~4:發(fā)送指令A(yù)T+CIPMUX=1;

      (6)建立服務(wù)器:發(fā)送指令A(yù)T+CIPSERVER=1。

      3.2 單片機(jī)控制LED燈程序設(shè)計(jì)

      3.2.1 LED燈亮滅控制的程序設(shè)計(jì)

      STC89C52單片機(jī)與ESP8266WiFi通信模塊之間以串口通信的方式建立連接,程序設(shè)計(jì)過程需要滿足串口通信的協(xié)議要求,因此在設(shè)計(jì)中將ESP8266WiFi通信模塊的串口比特率設(shè)置為9600Hz。程序設(shè)計(jì)包括對單片機(jī)I/O口進(jìn)行初始化,然后初始化ESP8266WiFi通信模塊,給連接WiFi模塊初始化指示燈和連接LED燈的單片機(jī)引腳賦值,系統(tǒng)調(diào)用相關(guān)子函數(shù)執(zhí)行后續(xù)程序,接著判斷WiFi模塊是否接收了指令,若接收成功,單片機(jī)將接收WiFi模塊發(fā)送過來的指令并作出判斷,從而控制燈的亮滅;若WiFi模塊沒有接收指令,則返回上一步再重新進(jìn)行判斷。相關(guān)程序流程圖如圖4所示。

      圖4 單片機(jī)控制LED燈亮滅的程序流程圖

      3.2.2 LED燈亮度調(diào)節(jié)程序設(shè)計(jì)

      本設(shè)計(jì)對LED燈的亮度操控主要通過控制高電平和低電平維持的時(shí)間來實(shí)現(xiàn)。程序設(shè)計(jì)用定時(shí)器T0服務(wù)函數(shù)來實(shí)現(xiàn),通過程序編寫來控制LED燈的燈光亮滅持續(xù)時(shí)間從而實(shí)現(xiàn)亮度調(diào)節(jié)。首先設(shè)置定時(shí)器,接著判斷WiFi模塊是否接收了指令,若接收成功,單片機(jī)將接收WiFi模塊發(fā)送過來的指令并作出判斷,從而控制燈的亮度;若WiFi模塊沒有接收指令,則返回上一步再重新進(jìn)行判斷。相關(guān)程序流程圖如圖5所示。

      圖5 STC89C52控制LED燈亮度的程序流程圖

      4 實(shí)物測試

      4.1 手機(jī)APP功能介紹

      本設(shè)計(jì)中控制LED燈亮滅以及亮度的手機(jī)APP為“TCP連接”,APP的控制按鈕可自行設(shè)置,本設(shè)計(jì)設(shè)置了三個(gè)控制按鈕,第一個(gè)按鈕為LED燈開關(guān)控制按鈕,在按鈕編輯器窗口進(jìn)行相關(guān)設(shè)置,在“狀態(tài)OFF”下的按鈕文本設(shè)置為“LED燈關(guān)”,消息處設(shè)置為“A3”,在“狀態(tài)ON”下的按鈕文本設(shè)置為“LED燈開”,消息處設(shè)置為“A1”。第二個(gè)按鈕為增強(qiáng)LED燈亮度的按鈕,在按鈕編輯窗口進(jìn)行設(shè)置時(shí)將“狀態(tài)OFF”和“狀態(tài)ON”下的按鈕文本都設(shè)置為“亮度加”,消息處都設(shè)置為“T1”。第三個(gè)按鈕為減弱LED燈亮度的按鈕,在按鈕編輯窗口進(jìn)行設(shè)置時(shí)將“狀態(tài)OFF”和“狀態(tài)ON”下的按鈕文本都設(shè)置為“亮度減”,消息處都設(shè)置為“T3”。

      4.2 實(shí)驗(yàn)測試

      給設(shè)計(jì)成品通電,通電后打開電源開關(guān),可以看到黃色LED燈亮,表示正在初始化ESP8266WiFi模塊,黃色LED燈滅說明對WiFi模塊的初始化已經(jīng)完成。將手機(jī)連接到名稱為“SuoMeng_01”的WiFi信號,輸入設(shè)置的WiFi密碼,打開控制LED燈的手機(jī)APP,連接到地址為“192.168.4.1”,端口號為2000的主機(jī),APP界面顯示連接成功即可對LED燈進(jìn)行操控。圖6、7為實(shí)物測試圖。

      圖6 初始化ESP8266WiFi模塊

      圖7 手機(jī)APP對LED燈的操控

      5 結(jié)束語

      設(shè)計(jì)完成了對LED燈的亮滅控制和亮度調(diào)節(jié)的目標(biāo),從設(shè)計(jì)過程來看,整個(gè)設(shè)計(jì)主要包括軟件系統(tǒng)設(shè)計(jì)部分和硬件設(shè)計(jì)部分。通過本次設(shè)計(jì),我收獲了許多有用的知識和技能,與此同時(shí),整個(gè)系統(tǒng)的設(shè)計(jì)讓我真實(shí)的體會(huì)到書本知識和實(shí)際應(yīng)用的不同。在設(shè)計(jì)完成的過程中也遇到了很多問題和挑戰(zhàn),這些問題十分值得我進(jìn)行深入的研究和探討,爭取能夠早日解決。

      猜你喜歡
      微控制器亮度串口
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      亮度調(diào)色多面手
      物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
      電子制作(2017年14期)2017-12-18 07:07:58
      亮度一樣嗎?
      基于斬波調(diào)制的LED亮度控制
      人生的亮度
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
      最新STM32設(shè)計(jì)工具增加對混合信號微控制器的支持
      秦皇岛市| 沐川县| 于田县| 泊头市| 临潭县| 鲜城| 苏尼特右旗| 安顺市| 溆浦县| 宁陵县| 盐边县| 墨玉县| 六盘水市| 长岛县| 石景山区| 桃园市| 阳信县| 新闻| 融水| 太白县| 东阿县| 正定县| 同江市| 阿图什市| 涡阳县| 广水市| 江城| 高雄县| 马关县| 乌审旗| 郁南县| 容城县| 克山县| 长垣县| 扎兰屯市| 龙里县| 泗水县| 微山县| 万荣县| 洪泽县| 南通市|