999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于本地化ARM 主控的智能家居聯(lián)動集成系統(tǒng)設(shè)計

2023-06-07 05:47:02陳俊龍魏小鎮(zhèn)黃堪杰陳嘉欣黃映欣
電子制作 2023年9期
關(guān)鍵詞:單片機

陳俊龍,魏小鎮(zhèn),黃堪杰,陳嘉欣,黃映欣

(廣東東軟學院,廣東佛山,528200)

0 引言

隨著社會經(jīng)濟不斷發(fā)展以及人們生活節(jié)奏加快,智能家居的應用場景越來越豐富,智能家居使用和方便越來越受人們青睞。智能家居泛指以一個網(wǎng)關(guān)為總節(jié)點,多個傳感器和控制終端為子節(jié)點,各子節(jié)點和總結(jié)點之間采用無線或有線方式進行通信的嵌入式自動化系統(tǒng)。旨在提高用戶的生活水平,帶給用戶愉快的生活體驗。但市面上的智能家居系統(tǒng)普遍存在價格高昂,功能花哨而不實用的特點,本課題針對這一痛點設(shè)計實驗,實現(xiàn)部分日常生活實用價值較高的功能,例如日程定時提醒,全屋聯(lián)動,家用電器的語音控制,線上控制,及定時開關(guān)等。

1 方案設(shè)計

智能家居節(jié)點終端要求采用低功耗,分布式,允許有一定延遲的嵌入式系統(tǒng)及傳感器。本文介紹了以低功耗芯片CC2530 為無線模塊,STM32F103 芯片為總控(網(wǎng)關(guān))通過路由和節(jié)點終端(STM32F103)的連接,結(jié)合語音識別模塊,構(gòu)建一套智能家居系統(tǒng)。

本套智能家居系統(tǒng)共包括兩套主板和一個軟件。門控板和網(wǎng)關(guān)主板采用射頻通信,模擬物聯(lián)網(wǎng)通信過程,后期會改用Zigbee(CC2530)完成無線通信開發(fā)。

圖1 門控終端結(jié)構(gòu)框圖

門控終端采用12V 電池供電,通過LM2596 降壓芯片將電壓降為5V,3.3V 供入系統(tǒng);射頻模塊采用MFRC-522模塊進行讀卡;2個獨立按鍵模擬門鈴(外側(cè))和開門按鍵(內(nèi)側(cè));綠色指示燈亮起表示識別成功,紅色指示燈提示識別失??;電磁鎖采用12V 斜口電磁鎖,電磁鎖直接從電池取電;無線模塊采用Zigbee 模塊進行數(shù)據(jù)收發(fā)。

圖2 網(wǎng)關(guān)終端結(jié)構(gòu)框圖

網(wǎng)關(guān)終端采用7.2V 電池供電,網(wǎng)關(guān)接收溫濕度傳感器(DHT11)的數(shù)據(jù),并顯示于OLED 屏幕上;獨立按鍵可控制門控端電磁鎖開關(guān);無線模塊接收門控終端的信息,照明電路可通過軟件和語音控制,也可以通過按鍵控制燈亮滅;揚聲器可播放門鈴音樂和全屋鬧鐘,并發(fā)出語音提示;舵機電路控制窗戶開合。

2 硬件設(shè)計

■2.1 電源電路

本系統(tǒng)采用7.2V 電池供電,單片機及各元器件采用3.3V 電壓供電,且考慮到射頻模塊(Zigbee 模塊)工作電流較大,因此電源方案采用LM2596S 為主方案,并同時預備AMS1117 為備用方案。以下介紹LM2596S 的設(shè)計思路:電源輸入端接入7.2V 電池,輸入端并聯(lián)一個0.1μF 的濾波電容,將芯片的第5 腳接地使能輸出,在輸出端和GND 并聯(lián)一個1N5824 鉗位二極管,通過串聯(lián)一個47μH 的電感,將3.3V 電壓輸入至單片機系統(tǒng),為確保電壓穩(wěn)定,輸出端電壓要反饋至Feedback 腳,即芯片第4 腳。最后在輸出端與GND 之間接入一個0603 封裝的LED 和1k 的電阻,指示燈亮表示電壓正常輸出。為方便產(chǎn)品測試,將3.3V 電壓和GND 等電源腳引出排針。

圖3 大電流降壓模塊

圖4 RFID 射頻模塊

圖5 液晶屏接線

圖6 E18 模組

■2.2 射頻模塊

射頻模塊采用RC522,采用SPI 總線進行通信,SPI 總線為全雙工通信,在SCK 引腳上升沿時,將數(shù)據(jù)寫入芯片或者讀出數(shù)據(jù)。IC 卡靠近塊后,RFID 模塊將模寫入數(shù)據(jù)到IC 卡,再從IC卡中將數(shù)據(jù)讀出,然后將數(shù)據(jù)通過SPI總線發(fā)到單片機。

■2.3 OLED 顯示屏

本項目采用中景園公司的OLED 液晶屏,屏幕SSD1306 驅(qū)動芯片,可使用I2C 和SPI 接口連接單片機進行通信。顯示屏支持藍,白,黃三種顯示顏色。本項目使用I2C 接口的屏幕,減少驅(qū)動代碼移植的難度,I2C 通信速度較低,主要用于顯示部分調(diào)試信息。

■2.4 Zigbee 模組

Zigbee 模組采用深圳EBYTE 公司的CC2530 集成模組——E18-MS1。模塊可支持4dBm 的發(fā)射功率,通信距離200 米內(nèi)。該模塊出廠默認帶有自組網(wǎng)程序,支持上位機調(diào)試軟件二次開發(fā)。E18 多節(jié)點組成的Mesh 網(wǎng)絡具備組織、治愈功能,其路由可自動建立和維護;網(wǎng)絡覆蓋范圍大、吞吐率高、可靠性強是該產(chǎn)品獨特的優(yōu)點。模塊采用串口通信,連接到單片機USART3 進行開發(fā)。

■2.5 語音模塊

語音模塊采用JR6001,該模塊采用單片機串口控制。模塊1、2 腳為電源腳;3、4 腳分別連接單片機Tx 和Rx 引腳;第5 腳所接LED 為音頻輸出指示燈,當音頻信號輸出到6、7 腳時,指示燈會閃爍一次。U1 為排針接口,連接揚聲器。

■2.6 窗戶舵機

2 扇窗戶采用舵機進行推拉開關(guān),由于單片機引腳的電流不夠,采用三極管構(gòu)成共發(fā)射極放大電路進行電流放大。R2 和R3 為限流電阻,防止當I/O 口為高電平時,電流過大擊穿發(fā)射極,D_PWMx 引腳已通過外接排阻上拉為高電平。當PWMx 引腳為高電平時,三極管發(fā)射極與集電極導通,D_PWMx 輸出低電平;當PWMx 引腳為低電平時,三極管發(fā)射極與集電極截止,D_PWMx 輸出高電平。因此該電路可形成一個反相器,即PWMx 占空比為80%時,D_PWMx 為20%。

■2.7 指示燈電路(板載)

指示燈采用排阻上拉連接單片機,減少元器件焊接難度。3 個指示燈連接I/O 口,用于調(diào)試排阻的2、3 號腳連接舵機電路進行上拉,LED4 為電源指示燈,排阻9 號腳連接單片機復位引腳RESET,同時并聯(lián)一顆104 電容濾波。

■2.8 照明電路(外接)

照明電路用于為外接的USB 燈管提供足夠的電流,本項目采用ULN2003 芯片,該芯片可提供每個輸出口最高0.5A 的電流,可為系統(tǒng)照明燈電路提供足夠的電流。LEDx網(wǎng)絡接入單片機的I/O 口,右側(cè)的輸出口連接到USB 插座的負極,USB 插座正極直連電源,當LEDx 為高電平時,對應輸出端為低電平,此時LED 燈條會被點亮,反之熄滅。

圖7 JR6001 語音播報模塊

圖8 舵機驅(qū)動電路

圖9 排阻構(gòu)成的指示燈電路

圖10 照明電路

圖11 門控板軟件框架

圖12 網(wǎng)關(guān)板軟件框架

3 軟件設(shè)計

■3.1 軟件結(jié)構(gòu)框圖

門控板和網(wǎng)關(guān)板上層軟件驅(qū)動軟件主要分為以下部分:

(1)GPIO 配置:主要控制LED 指示燈和檢測按鍵電平;

(2)RC522 射頻卡:用模擬SPI 總線配置射頻模塊的各項參數(shù),并實現(xiàn)尋卡,讀卡識別卡號的功能;

(3)OLED 顯示屏:使用模擬I2C 協(xié)議驅(qū)動屏幕,用于顯示一部調(diào)試信息。

(4)電磁鎖驅(qū)動:配置同普通I/O 口,但由于電磁鎖通電時間不能過長,所以每次向鎖芯通電的時間都設(shè)置為0.8 秒。

(5) 語音模塊:JR6001 采用串口通信,AT 指令控制,采用單片機一路USART,配置為發(fā)送模式,波特率115200,通過串口AT 指令,可實現(xiàn)語音播報功能;

(6)舵機驅(qū)動:2 路舵機由單片機輸出2 路低頻率PWM驅(qū)動,初始化頻率配置定時器工作頻率,通過在循環(huán)函數(shù)中修改PWM 占空比可控制舵機打角。

(7)Zigbee 模塊:采用串口+AT 指令控制,使用一路USART 配置為收發(fā)模式,開啟接收中斷。

■3.2 主程序流程及中斷流程

3.2.1 門控板主程序

門控板主要完成IC 卡識別,串口3(Zigbee)指令識別,繼電器開關(guān),卡號比對的功能,工作流程如下:

(1)單片機上電后,對各模塊進行初始化配置。

(2)初始化模塊配置后,測試各模塊功能;

(3)IC 卡尋卡,如果識別到IC 卡,則刷新RC522_ID_Buff 數(shù)組的卡號;

(4)串口3 識別指令,并配置相應的標志位;

(5)掃描按鍵狀態(tài),配置對應的標志位;

(6)識別Door_flg 標志位,若為1,則繼電器通電0.8 秒;否則執(zhí)行下一個流程;

(7)對當前IC 卡存儲數(shù)組RC522_ID_Buff 中的卡號與存儲在Card_One 數(shù)組中的卡號進行比對,卡號相通則將Success 寫入顯示屏;否則執(zhí)行下一個流程;

(8)使用ReFlash 函數(shù)刷新屏幕數(shù)據(jù);

(9)重復執(zhí)行流程3-8。

圖13 門控板主流程

3.2.2 門控板中斷

門控板中斷程序主要為串口中斷,當串口收到數(shù)據(jù)時,自動觸發(fā)。中斷處理流程如下:

(1)進入中斷后,首先識別接收中斷標志位USART_IT_RXNE,是否為1,不為1 則,直接退出中斷;

(2)若為1 則清除接收中斷標志位USART_IT_RXNE;

(3) 將串口寄存器USARTx->DR 的數(shù)據(jù)進行讀取;

(4)結(jié)束流程,退出中斷。

圖14 串口中斷流程

3.2.3 網(wǎng)關(guān)板主程序

網(wǎng)關(guān)板主要完成,串口指令發(fā)送,按鍵掃描,LED 燈顯示,ULN2003 驅(qū)動(電器開關(guān))和PWM 輸出(窗戶舵機)等功能,工作流程如下:

(1)單片機上電后,對各模塊進行初始化配置,時鐘,定時器,GPIO,NVIC 中斷,串口,OLED 顯示屏;

(2)在初始化完成后,對各個模塊進行功能測試,GPIO 全部拉為高電平,串口和OLED 顯示屏打印“Hello World”;

圖15 網(wǎng)關(guān)板工作流程

(3)對8 個按鍵依次掃描識別,識別到I/O 口為低電平則更新存儲按鍵號,并進行信號處理;

(4)識別串口緩存數(shù)組的內(nèi)容,識別出指令后,設(shè)置相應電器的標志位,隨后清空緩存區(qū);

(5)根據(jù)標志位,對LED 燈的I/O 口進行電平輸出;

(6)根據(jù)舵機標志位,輸出相應占空比的PWM 波形;

(7)根據(jù)標志位,對ULN2003 進行電平輸出;

(8)刷新OLED 顯示屏;

(9)重復流程3—8。

■3.3 各模塊子流程

3.3.1 RC522 射頻卡配置

在RC522 初始化流程中,首先對SPI 的4 個重要I/O口進行輸入輸出配置;然后通過SPI 總線對模塊進行軟件復位,將CS引腳置于低電平作選通使能。接下來二次復位之后,開始寫入命令,配置模塊。

在尋卡子流程中,首先調(diào)用PcdRequest 函數(shù)進行尋卡,尋卡結(jié)果返回到變量ucStatus 中。若ucStatus 為1,則表示尋卡成功,將卡號輸出到ID 指針變量中,否則結(jié)束尋卡,退出該流程;流程圖如圖16 所示。

圖16 RC522 模塊軟件初始化流程和尋卡流程

圖17 OLED 初始化及顯示流程示例

圖18 電磁鎖控制流程圖

圖19 舵機脈沖長度對應打角角度

RC522 各參數(shù)配置如下:

(1)工作方式:ISO14443-A;

(2)工作模式:接收和發(fā)送;

(3)內(nèi)部定時器初值:30。

3.3.2 OLED 顯示屏

中景園的OLED 顯示屏,采用I2C 協(xié)議款,在初始化流程中,首先使能PB7 和PB8 所在的APB2 總線時鐘;隨后初始化2 個I/O 口為推挽輸出模式;對OLED 進行軟件復位之后,開始向顯示屏芯片寫入指令。

在主程序使用屏幕顯示數(shù)據(jù)時,流程如下:首先調(diào)用OLED_ShowString 函 數(shù), 指定字符串大小,坐標,字符串內(nèi)容,將字符串數(shù)據(jù)寫入OLED 的寄存器,在寫入多個字符串之后,再刷新屏幕。由于屏幕刷新的時間比字符串寫入的時間稍長,因此不建議每寫入一次字符串,就對屏幕進行刷新,這樣會導致單片機運行效率低下,將所有字符串更新到寄存器中,最后再對屏幕進行刷新,不僅節(jié)省運算資源,而且不會造成屏幕卡頓。經(jīng)測試,該方案可行。

3.3.3 電磁鎖驅(qū)動

電磁鎖的初始化和LED 燈相同,采用推挽輸出模式即可,初始化默認配置RELAY 引腳為高電平,此處不過多贅述;在電磁鎖通電時,由于工作電流(0.7A)較大,為提高設(shè)備可靠性,鎖頭不可長時間通電。當RELAY 引腳為低電平時,繼電器閉合,電磁鎖通電,斜口舌收縮;反之亦然,因此控制單片機引腳高低電平,即可實現(xiàn)電磁鎖開合。本項目設(shè)置電磁鎖的通電時間為0.8 秒,程序流程如下:

(1)當判斷到開門指令時,主程序中其他模塊會將Door_flg 置1;

(2)當Door_flg 為1 時,首先將Door_flg 標志位清0,將RELAY 電平拉低800ms 后升回高電平;否則保持原高電平狀態(tài);

(3)流程結(jié)束。

3.3.4 語音模塊

語音模塊采用串口控制,共存儲7 組指令,可播放7個音樂文件,指令表如下:

“A7:00001”——播放MP3 文件00001;

“A7:00002”——播放MP3 文件00002;

“A7:00003”——播放MP3 文件00003;

“A7:00004”——播放MP3 文件00004;

當串口發(fā)出對應指令給語音模塊時,JR6001 播放對應的語音文件,語音文件按照相關(guān)規(guī)范命名。

3.3.5 舵機驅(qū)動模塊

根據(jù)舵機的數(shù)據(jù)手冊說明,舵機的脈沖周期約為2.5ms一個周期,通過不斷改變脈沖在一個周期內(nèi)的占空比,可調(diào)整舵機打角的角度,可由以下公式計算舵機的脈沖頻率:

因此,當脈沖頻率接近400Hz 時,舵機可穩(wěn)定工作,400Hz 的脈沖,是舵機的最佳頻率。STM32 的定時器輸出脈沖頻率公式如下:

fout:輸出頻率;SysClk:系統(tǒng)時鐘頻率,默認80MHz;P:分頻系數(shù);Cnt:定時器計數(shù)值。

本項目系統(tǒng)始終頻率為80MHz,設(shè)輸出脈沖fout為500Hz 時,計算出分頻系數(shù)P為199,定時器計數(shù)初值Cnt為799。由于單片機系統(tǒng)從0 開始計數(shù),所以Cnt為799 時,定時器每完成一次計數(shù)周期,正好計數(shù)800 次,分頻系數(shù)取值同理。通過輸出不同占空比的方波,舵機可精確打角到不同的角度。輸出占空比的公式如下:

Value為比較寄存器(16bit)的數(shù)值,當定時器當前計數(shù)值小于Value時,通道輸出為高電平;否則輸出低電平。使用LL_TIM_OC_SetCompare 可修改每個通道的Value值,即可切換不同的占空比。由此可見,STM32 的定時器設(shè)計,在PWM不同占空比輸出時,使用比51 單片機更簡便。

本項目定時器3 配置如下:

(1)時鐘源(Clock Source):內(nèi)部時鐘80MHz;(2)通道配置(Channel):通道3,通道4 配置為PWM 輸出模式;(3)PWM 模式(mode)配置:模式一(普通PWM);(4)輸出比較器(Output Compare):使能。

3.3.6 Zigbee 模塊

Zigbee 模塊預留USART 接口,通過串口通信實現(xiàn)數(shù)據(jù)無線透傳,STM32 串口參數(shù)配置:

(1)通信波特率:115200;(2)數(shù)據(jù)長度:8 位;(3)將停止位:1 位;(4)校驗位:無;(5)工作模式:收發(fā)模式;(6)校驗模式:無CRC 校驗。

備注:當收發(fā)設(shè)備的串口參數(shù)配置一致時,才能正常收發(fā)數(shù)據(jù),通信波特率通常采用115200 和9600;在完成串口配置后,需要使用USART_Cmd,開啟串口,并使用USART_ITConfig,使能串口接收中斷。

4 總結(jié)分析

將ZigBee 無線通信技術(shù)、RFID 射頻識別技術(shù)與嵌入式技術(shù)融合,設(shè)計完成了一套智能家居控制系統(tǒng)。該系統(tǒng)的功耗低、性價比相對較高、操作簡單,實現(xiàn)了部分日常生活實用價值較高的功能,例如日程定時提醒功能,全屋家電聯(lián)動功能,家用電器的語音控制,線上控制,及定時開關(guān)等。但該系統(tǒng)的硬件部分還需要進一步完善,集成化的程度有待提高。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統(tǒng)設(shè)計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設(shè)計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統(tǒng)的仿真設(shè)計
主站蜘蛛池模板: 青青热久麻豆精品视频在线观看| 亚洲国产成人精品青青草原| 免费一级无码在线网站| 欧美日韩激情在线| 国产福利微拍精品一区二区| 国产杨幂丝袜av在线播放| 亚洲精品你懂的| 国产幂在线无码精品| 高潮毛片免费观看| 无码丝袜人妻| 国产十八禁在线观看免费| 亚洲精品视频免费| 国产福利一区视频| 国产精品分类视频分类一区| 亚洲成人在线免费| 亚洲综合色在线| 国产欧美视频一区二区三区| 中文字幕亚洲乱码熟女1区2区| 天天躁夜夜躁狠狠躁躁88| 欧美一级色视频| 老司机精品一区在线视频| 亚洲成人网在线观看| 久青草国产高清在线视频| 免费高清a毛片| 欧美精品在线看| 国产正在播放| 一本一道波多野结衣av黑人在线| 婷婷丁香色| 亚洲午夜久久久精品电影院| 一区二区三区四区精品视频| 日韩黄色在线| 区国产精品搜索视频| 91综合色区亚洲熟妇p| 国产 在线视频无码| 国产在线观看成人91| 婷婷综合缴情亚洲五月伊| 国产精品香蕉在线观看不卡| 色婷婷狠狠干| 亚洲另类国产欧美一区二区| 一本久道热中字伊人| 亚洲国产成人精品青青草原| 国产视频入口| 91久久夜色精品| 久久99热这里只有精品免费看| 亚洲系列中文字幕一区二区| 亚洲视屏在线观看| 亚洲美女AV免费一区| 亚洲成人播放| 日本免费精品| 精品色综合| 日韩欧美国产精品| AV不卡国产在线观看| 黄色网站不卡无码| 国产精品亚洲片在线va| 国产无遮挡猛进猛出免费软件| 亚洲欧美国产高清va在线播放| 国内精品小视频在线| 蜜臀AV在线播放| 孕妇高潮太爽了在线观看免费| 中文字幕人成乱码熟女免费| 在线观看亚洲人成网站| 99这里只有精品在线| 亚洲无码高清视频在线观看 | 欧美精品二区| 色综合热无码热国产| 国产精品视频猛进猛出| 精品国产香蕉在线播出| 婷婷99视频精品全部在线观看| 99无码熟妇丰满人妻啪啪 | 免费国产黄线在线观看| 亚洲精品在线91| 日韩毛片免费视频| aaa国产一级毛片| 久久无码av一区二区三区| 欧美日本在线| 亚洲青涩在线| 尤物成AV人片在线观看| 国产精品美女自慰喷水| 亚洲va欧美ⅴa国产va影院| 超清无码一区二区三区| 欧美在线伊人| 国产成人亚洲日韩欧美电影|