本發(fā)明涉及一種電路及控制方法,更具體說,它涉及一種智能梳妝鏡電路及控制方法。
背景技術(shù):
隨著“互聯(lián)網(wǎng)+”概念的提出,智能家具系統(tǒng)逐步受到認(rèn)可和重視。目前國(guó)內(nèi)的智能家具系統(tǒng)主要研究重點(diǎn)在燈光控制、家用電器、視頻監(jiān)控等領(lǐng)域,在梳妝鏡等生活必需品上涉足較少。因此目前國(guó)內(nèi)大部分梳妝鏡仍然只采用傳統(tǒng)的光學(xué)平面成像方法,由于該方案無法使梳妝鏡接入網(wǎng)絡(luò),不能實(shí)現(xiàn)數(shù)字化、多功能化,故其具有產(chǎn)品結(jié)構(gòu)單一、無法定制個(gè)性化數(shù)據(jù)分析等諸多缺點(diǎn)。
部分企業(yè)已經(jīng)認(rèn)識(shí)到了傳統(tǒng)梳妝鏡的不足,著手研發(fā)了數(shù)字化梳妝鏡,并得到了一定的社會(huì)認(rèn)可。但他們研發(fā)的梳妝鏡主要用于大型購(gòu)物市場(chǎng)、品牌門店的使用,具有價(jià)格昂貴、人機(jī)交互不便、便攜式能力不足等缺點(diǎn)。因此,開發(fā)一款數(shù)字化、家用化、交互能力強(qiáng)的智能梳妝鏡勢(shì)在必行。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)中的不足,本發(fā)明提供了一種結(jié)構(gòu)合理、電路可靠、運(yùn)行效率較高的智能梳妝鏡電路及控制方法。
智能梳妝鏡電路,包括單片機(jī)控制模塊、串口模塊、sd卡模塊、攝像頭模塊、顯示模塊、按鍵模塊、供電模塊和串口服務(wù)器;
所述單片機(jī)控制模塊包括:stm32f103vct6單片機(jī)、8m晶振、復(fù)位按鍵、lt1117-3.3v芯片、電阻及電容;單片機(jī)、晶振和復(fù)位按鍵共同構(gòu)成了單片機(jī)最小系統(tǒng);lt1117-3.3v芯片及電容實(shí)現(xiàn)了5v轉(zhuǎn)3.3v的電平轉(zhuǎn)換,從而為單片機(jī)進(jìn)行供電;
所述串口模塊包括:max3232芯片、rs232接口及電容,單片機(jī)串口連接至max3232芯片的11、12腳,max3232的14腳、13腳分別接至rs232的2腳、3腳,從而保證接口和電平的統(tǒng)一;
所述sd卡模塊包括:sd卡卡槽及上拉電阻,單片機(jī)sdio端口直接與sd卡卡槽端口連接,同時(shí)該端口通過上拉電阻接至3.3v電源;
所述攝像頭模塊包括:ov7670攝像頭、fifo芯片al422b及電容電阻;ov7670攝像頭連接至fifo芯片將數(shù)據(jù)存儲(chǔ)至緩沖區(qū)中,單片機(jī)與fifo芯片相連從緩沖區(qū)中讀取數(shù)據(jù),完成圖像采集功能;
所述顯示模塊包括:一塊使用ssd1963作為驅(qū)動(dòng)芯片的4.3寸液晶屏,引腳直接與單片機(jī)連接,通過fsmc接口完成對(duì)液晶屏的操作;
所述按鍵模塊包括:一塊型號(hào)為mt008-a的五向開關(guān),3個(gè)按鍵及部分上拉、限流電阻;單片機(jī)引腳直接通過上拉、限流電阻后與按鍵連接;
所述電源模塊包括:lm2596芯片、33uh電感、二極管、電位器及電容;輸入電壓為12v,通過dc-dc電壓穩(wěn)壓后,輸出電壓為5v。
這種智能梳妝鏡電路的控制方法,包括如下步驟:
步驟一,系統(tǒng)初始化,即單片機(jī)系統(tǒng)時(shí)鐘、lcd、rtc、串口、攝像頭等模塊初始化,為后續(xù)功能的正常工作提供基礎(chǔ);
步驟二,依據(jù)自定義的協(xié)議發(fā)送指定命令,并接收服務(wù)器數(shù)據(jù);
步驟三,在lcd上顯示基礎(chǔ)界面,并根據(jù)接收到的服務(wù)器數(shù)據(jù)更新數(shù)據(jù);
步驟四,循環(huán)掃描標(biāo)志位、端口電平,監(jiān)測(cè)是否有新的攝像頭數(shù)據(jù)、時(shí)間數(shù)據(jù)、按鍵請(qǐng)求等,如果有則根據(jù)請(qǐng)求做出相應(yīng)的響應(yīng)。
作為優(yōu)選:步驟二中,上位機(jī)與下位機(jī)通信的自定義協(xié)議如下:
第一,當(dāng)下位機(jī)發(fā)送“temp”時(shí),上位機(jī)返回天氣數(shù)據(jù);當(dāng)下位機(jī)發(fā)送“time”時(shí),上位機(jī)返回時(shí)間數(shù)據(jù);當(dāng)下位機(jī)發(fā)送“numb”時(shí),上位機(jī)返回服務(wù)器中的圖片總數(shù);當(dāng)下位機(jī)發(fā)送“file,*.txt”(“*”為阿拉伯?dāng)?shù)字)時(shí),上位機(jī)返回第*張圖片的圖片數(shù)據(jù);
第二,當(dāng)上位機(jī)返回?cái)?shù)據(jù)時(shí),數(shù)據(jù)格式為:串口數(shù)據(jù)發(fā)送開始字符axff,數(shù)據(jù)含義指示符bx0*(“*”為阿拉伯?dāng)?shù)字),具體數(shù)據(jù)0x**,串口數(shù)據(jù)發(fā)送結(jié)束字符ax00。其中,每一個(gè)字段以逗號(hào)作為分隔符。
作為優(yōu)選:步驟四中,攝像頭每一次場(chǎng)中斷都會(huì)觸發(fā)一次中斷,在中斷服務(wù)函數(shù)中將相關(guān)標(biāo)志位置位,以保證主函數(shù)中對(duì)新照片數(shù)據(jù)進(jìn)行讀取和處理。
作為優(yōu)選:步驟四中,每秒會(huì)觸發(fā)一次rtc中斷,在中斷服務(wù)函數(shù)中更新時(shí)間,并將標(biāo)志位置位。
本發(fā)明的有益效果是:本發(fā)明在硬件上利用stm32單片機(jī)作為核心,融合了串口、sd卡、攝像頭、液晶屏、按鍵模塊,通過串口服務(wù)器,將數(shù)據(jù)通過tcp/ip協(xié)議發(fā)送至服務(wù)器;同理,服務(wù)器返回的報(bào)文利用串口服務(wù)器解析后發(fā)還至單片機(jī),從而完成下位機(jī)與上位機(jī)的通訊。此外,本發(fā)明利用按鍵和液晶屏與用戶進(jìn)行交互操作,實(shí)現(xiàn)了集多種功能于一身,操作簡(jiǎn)單便捷,便于商家推廣產(chǎn)品,數(shù)據(jù)管理方便,設(shè)計(jì)成本低,用戶體驗(yàn)好,具有較好的應(yīng)用價(jià)值。
附圖說明
圖1為各模塊關(guān)系圖;
圖2為單片機(jī)控制模塊電路圖;
圖3為串口模塊電路圖;
圖4為sd卡模塊電路圖;
圖5為攝像頭模塊電路圖;
圖6為顯示模塊電路圖;
圖7為按鍵模塊電路圖;
圖8為電源模塊電路圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例對(duì)本發(fā)明做進(jìn)一步描述。下述實(shí)施例的說明只是用于幫助理解本發(fā)明。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
如圖1所示,所述智能梳妝鏡上位機(jī)是指在服務(wù)器中運(yùn)行的一個(gè)進(jìn)程及存儲(chǔ)介質(zhì),用于存儲(chǔ)相關(guān)圖片,可為下位機(jī)提供更新時(shí)間、天氣、圖片等服務(wù);所述單片機(jī)控制模塊采用stm32f103單片機(jī)作為智能梳妝鏡下位機(jī)的核心,用于處理相關(guān)數(shù)據(jù)及交互信息;所述串口模塊采用rs232接口與串口服務(wù)器相連接,用于向服務(wù)器發(fā)送串口指令以及接收從服務(wù)器上下載的數(shù)據(jù),為單片機(jī)控制模塊提供數(shù)據(jù)支持;所述sd卡模塊用于存儲(chǔ)相關(guān)圖片;所述攝像頭模塊采用ov7670攝像頭采集照片;所述顯示模塊用于顯示攝像頭采集的照片以及從服務(wù)器上下載的圖片,同時(shí)顯示梳妝鏡當(dāng)前的狀態(tài)及模式;所述按鍵模塊用于實(shí)現(xiàn)選擇、控制梳妝鏡的模式;所述供電模塊用于為串口服務(wù)器、單片機(jī)供電;所述串口服務(wù)器是是連接單片機(jī)和服務(wù)器的媒介,用于將下位機(jī)的串口數(shù)據(jù)采用tcp/ip協(xié)議發(fā)送至上位機(jī),將上位機(jī)發(fā)回的報(bào)文解析后通過串口發(fā)回下位機(jī)。
智能梳妝鏡上位機(jī)即為服務(wù)器,智能梳妝鏡下位機(jī)包含單片機(jī)控制模塊、串口模塊、sd卡模塊、攝像頭模塊、顯示模塊、按鍵模塊、供電模塊和串口服務(wù)器。串口服務(wù)器作為中介,通過tcp/ip協(xié)議與上位機(jī)通信,通過串口與下位機(jī)通信。用戶可通過按鍵模塊、顯示模塊、攝像頭模塊與系統(tǒng)進(jìn)行交互,即攝像頭采集用戶圖像,并在顯示模塊顯示,用戶通過按鍵對(duì)梳妝鏡的模式、狀態(tài)進(jìn)行控制。
如圖2所示,單片機(jī)控制模塊主要由單片機(jī)最小系統(tǒng)及單片機(jī)供電模塊組成。單片機(jī)采用stm32f103vct6,該單片機(jī)flash大小為256kb,ram大小為48kb;晶振采用8m晶振,通過電容連接在單片機(jī)osc_in和osc_out兩個(gè)引腳和地之間;復(fù)位模塊通過按鍵、電阻和電容連接在單片機(jī)reset引腳上,實(shí)現(xiàn)單片機(jī)復(fù)位功能;由于單片機(jī)供電電壓為3.3v,而供電模塊為單片機(jī)供電電壓為5v,因此需要采用1117-3.3芯片作為穩(wěn)壓管提供3.3v的供電電壓,輸入輸出分別接電容濾波;為了保證單片機(jī)的正常工作,在電路板布局時(shí),采用大量的電容連接在單片機(jī)的四邊,起到濾波穩(wěn)壓的作用。
如圖3所示,單片機(jī)pa9、pa10分別為串口1的txd和rxd,這兩個(gè)引腳直接連接max3232的11腳和12腳,11腳對(duì)應(yīng)的輸出腳為14腳,直接連接rs232的2腳,12腳對(duì)應(yīng)的輸入腳為13腳,直接連接rs232的3腳,從而實(shí)現(xiàn)接口和電平的統(tǒng)一,方便外接外部設(shè)備。
如圖4所示,由于單片機(jī)自帶硬件sdio接口,因此,sd卡dat0端口連接單片機(jī)sdio_d0端口(pc8),sd卡dat1端口連接單片機(jī)sdio_d1端口(pc9),sd卡dat2端口連接單片機(jī)sdio_d2端口(pc10),dat3端口連接單片機(jī)sdio_d3端口(pc11),sd卡clk端口連接單片機(jī)sdio_clk端口(pc12),sd卡cmd端口連接單片機(jī)sdio_cmd端口(pd2),sd卡cd端口連接單片機(jī)pg8,sd卡供電電壓為3.3v。除cd端口、供電端口、地以外,每個(gè)引腳都需要接上拉電阻。
如圖5所示,攝像頭模塊由ov7670、al422b組成,攝像頭數(shù)據(jù)端口db0-db7接至緩沖器1-4、11-14引腳;攝像頭pclk引腳接至緩沖器9腳上;緩沖器24腳接至單片機(jī)b8引腳;緩沖器21腳接至單片機(jī)b9引腳;緩沖器20引腳接至單片機(jī)b10引腳;緩沖器8腳接至單片機(jī)b11引腳;單片機(jī)引腳b14與行中斷href通過與非門接入緩沖器5腳。攝像頭時(shí)鐘信號(hào)xclk引腳連接至單片機(jī)a8引腳;攝像頭場(chǎng)中斷vsync直接接至單片機(jī)b15引腳;緩沖器輸出數(shù)據(jù)d0-d7分別接入單片機(jī)c0-c7引腳。從而單片機(jī)只需讀取緩沖區(qū)中的數(shù)據(jù)即可。
如圖6所示,由于單片機(jī)自帶硬件fsmc接口,因此,液晶屏數(shù)據(jù)端口d0-d15分別接至fsmc_d0-fsmc_d15端口,rs接至單片機(jī)f0引腳,wr接至單片機(jī)d5引腳,rd接至單片機(jī)d4引腳,液晶屏供電采用5v供電。從而單片機(jī)通過控制rs、wr、rd端口電平選擇命令,通過fsmc接口傳輸數(shù)據(jù),完成對(duì)液晶屏的控制操作。
如圖7所示,五向開關(guān)的上、下、左、右、確認(rèn)分別接至單片機(jī)g11、g15、g13、g14、f11引腳,并通過上拉電阻接入vcc;s2按鍵接入單片機(jī)c13引腳;s1按鍵接入單片機(jī)a0引腳;s4按鍵接入單片機(jī)d3引腳。當(dāng)按鍵按下時(shí),對(duì)應(yīng)端口為低電平,當(dāng)按鍵釋放時(shí),對(duì)應(yīng)端口為高電平。
如圖8所示,開關(guān)電源lm2596實(shí)現(xiàn)12v轉(zhuǎn)5v的穩(wěn)壓功能。其主要工作原理為:將基準(zhǔn)電壓連接比較器的負(fù)端,分壓電阻網(wǎng)絡(luò)連接其正端。將輸出電壓的分壓電阻網(wǎng)絡(luò)的輸出同內(nèi)部基準(zhǔn)穩(wěn)壓值進(jìn)行比較,若檢測(cè)到電壓有差值,則通過放大器調(diào)節(jié)去芯片內(nèi)部振蕩器的輸出占空比,從而穩(wěn)定輸出電壓。
這種智能梳妝鏡電路的控制方法,包括如下步驟:
步驟一,rcc初始化、lcd初始化、按鍵初始化、sd卡初始化、攝像頭初始化、設(shè)置圖片格式、rtc初始化、串口初始化,為后續(xù)功能的正常工作提供基礎(chǔ),同時(shí)在液晶屏上顯示初始化是否成功。
步驟二,依據(jù)自定義的協(xié)議發(fā)送指定命令,分別向服務(wù)器發(fā)送“numb”、“time”、“temp”和“file,*.txt”(“*”為阿拉伯?dāng)?shù)字),接收服務(wù)器數(shù)據(jù)并將數(shù)據(jù)結(jié)果在液晶屏上進(jìn)行顯示。每當(dāng)接收到一個(gè)字節(jié)時(shí),都會(huì)進(jìn)入串口中斷中,以逗號(hào)作為字段分隔符,每接收完成一個(gè)字段,就判斷字段的內(nèi)容,如果為數(shù)據(jù)含義指示符,則將標(biāo)志位置位,如果為具體數(shù)據(jù),則根據(jù)標(biāo)志位將數(shù)據(jù)存入相應(yīng)的變量中。
步驟三,在lcd上顯示logo圖標(biāo)、標(biāo)題、狀態(tài)欄裝飾及題首、顯示邊框等基礎(chǔ)界面,根據(jù)之前接收的數(shù)據(jù)更新系統(tǒng)數(shù)據(jù),并將最新數(shù)據(jù)顯示在液晶屏上,以保證與用戶的交互實(shí)時(shí)性。
步驟四,循環(huán)掃描標(biāo)志位、端口電平,及時(shí)對(duì)新的攝像頭數(shù)據(jù)、時(shí)間數(shù)據(jù)、按鍵請(qǐng)求做出相應(yīng)的響應(yīng)。當(dāng)s2按鍵按下,單片機(jī)監(jiān)測(cè)到低電平,則切換顯示模式;當(dāng)s1按鍵按下,單片機(jī)進(jìn)入外部中斷,將標(biāo)志位置位,在主函數(shù)中切換圖片;當(dāng)s4按鍵按下,單片機(jī)監(jiān)測(cè)到低電平,保存照片;當(dāng)移動(dòng)五向開關(guān)時(shí),單片機(jī)監(jiān)測(cè)到低電平,則觸發(fā)移動(dòng)圖片功能。由于五向開關(guān)采用監(jiān)測(cè)電平模式,因此可以一次按鍵多次觸發(fā);由于切換顯示模式功能、保存圖片功能對(duì)下一幀照片有影響,且對(duì)實(shí)時(shí)性要求不高,故也采用監(jiān)測(cè)電平模式;由于切換圖片功能僅對(duì)顯示的圖片有影響,且需要一次按鍵一次觸發(fā),因此采用中斷模式。攝像頭每一次場(chǎng)中斷都會(huì)觸發(fā)一次中斷,在中斷服務(wù)函數(shù)中將相關(guān)標(biāo)志位置位,以保證主函數(shù)中對(duì)新照片數(shù)據(jù)進(jìn)行讀取和處理。系統(tǒng)每秒會(huì)觸發(fā)一次rtc中斷,在中斷服務(wù)函數(shù)中更新時(shí)間,并將標(biāo)志位置位,以保證在主函數(shù)中對(duì)新的時(shí)間進(jìn)行顯示。此外,系統(tǒng)每間隔1個(gè)小時(shí)向服務(wù)器請(qǐng)求一次最新數(shù)據(jù),以保證數(shù)據(jù)的實(shí)時(shí)性。