国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Unity 3D的手勢(shì)感應(yīng)自動(dòng)開(kāi)關(guān)門(mén)衣柜設(shè)計(jì)及功能模擬

2020-09-29 01:56:34唐夢(mèng)菲陳瑤高建民
林業(yè)工程學(xué)報(bào) 2020年5期
關(guān)鍵詞:開(kāi)關(guān)門(mén)衣柜串口

唐夢(mèng)菲,陳瑤,高建民

(北京林業(yè)大學(xué)材料科學(xué)與技術(shù)學(xué)院,北京 100083)

人們生活水平的提高與現(xiàn)代科技的發(fā)展對(duì)家具產(chǎn)品提出了更高的要求,傳統(tǒng)的家具難以滿足當(dāng)下年輕人追求個(gè)性及更加有趣的生活方式的需求,現(xiàn)代化、自動(dòng)化的智能家具是未來(lái)發(fā)展的趨勢(shì)。智能家具的設(shè)計(jì)常采用類(lèi)比推理法,即將其他領(lǐng)域的一些原理和方法應(yīng)用到智能家具中,如藍(lán)牙、WiFi是手機(jī)的常見(jiàn)功能,將這些功能安裝到家具身上可以賦予家具新的功能[1]。衣柜的基本屬性是存儲(chǔ)衣物,而借助嵌入式系統(tǒng)、各種傳感器、機(jī)械裝置、攝像頭可以實(shí)現(xiàn)衣物殺菌、消毒、識(shí)別等[2-3],為衣柜附加額外功能,讓衣柜智能起來(lái),為人們提供更便捷的生活。智能家具在設(shè)計(jì)方法上大多數(shù)為理論系統(tǒng)設(shè)計(jì),少部分為關(guān)鍵部件實(shí)物驗(yàn)證,極少數(shù)為整體生產(chǎn)。實(shí)物生產(chǎn)的優(yōu)點(diǎn)是可以使人直觀地體驗(yàn)智能家具的效果,但缺點(diǎn)是由于家具本身體積較為龐大,整體實(shí)物生產(chǎn)對(duì)空間、時(shí)間、成本都有一定要求且出現(xiàn)錯(cuò)誤修改不方便。而通過(guò)Unity 3D對(duì)家具功能進(jìn)行效果模擬,設(shè)計(jì)人員可以暫不生產(chǎn)家具主體,通過(guò)模型繪制在軟件的模擬環(huán)境中對(duì)家具的效果、功能進(jìn)行分析,從而減少費(fèi)用并節(jié)約時(shí)間。本研究利用單片機(jī)、傳感器、CAD和3d Max軟件,結(jié)合蒙德里安的代表作《紅黃藍(lán)的構(gòu)成》設(shè)計(jì)一款符合年輕消費(fèi)者需求的手勢(shì)感應(yīng)自動(dòng)開(kāi)關(guān)門(mén)衣柜,并基于Unity 3D平臺(tái)將開(kāi)關(guān)門(mén)效果進(jìn)行模擬。

1 Unity 3D的應(yīng)用

Unity 3D產(chǎn)品最初于2005年發(fā)布,當(dāng)時(shí)為一款面向OS X的游戲引擎,目前是一個(gè)可輕松創(chuàng)建交互式內(nèi)容、跨平臺(tái)的專業(yè)引擎平臺(tái)[4]。開(kāi)發(fā)者可以使用Unity 3D創(chuàng)建產(chǎn)品或從外部導(dǎo)入產(chǎn)品,配置物理性能并進(jìn)行虛擬產(chǎn)品測(cè)試。

目前Unity 3D在VR場(chǎng)景漫游方面應(yīng)用較多。如熊巍等[5]利用Unity 3D作為開(kāi)發(fā)環(huán)境,模擬化學(xué)實(shí)驗(yàn)的操作流程,達(dá)到輔助教學(xué)的目的。霍愛(ài)清等[6]通過(guò)3d Max建模,Unity 3D模擬鉆井工程的八大作業(yè)系統(tǒng),為后期培訓(xùn)教學(xué)帶來(lái)了便利。

在家具方面主要用于家具系統(tǒng)的開(kāi)發(fā)。比如室內(nèi)VR仿真[7]、家裝漫游系統(tǒng)的開(kāi)發(fā)[8]、虛擬家裝設(shè)計(jì)等[9]。馬利波[10]利用Unity 3D模擬明式家具的結(jié)構(gòu)和制作工藝,讓家具展示擁有了交互性、動(dòng)態(tài)性;張飛[11]利用Unity 3D制作了一個(gè)具有交互功能的新中式家具選擇場(chǎng)景,讓消費(fèi)者更直觀地了解家具在室內(nèi)的狀態(tài)。

2 Unity 3D用于智能家具設(shè)計(jì)的原理

Unity 3D作為一個(gè)游戲引擎能夠應(yīng)用于智能家具的設(shè)計(jì)主要基于以下幾點(diǎn):

1)強(qiáng)大的多平臺(tái)協(xié)作能力[12],可以接收大部分主流3D制作軟件的文件,包括家具設(shè)計(jì)常用的CAD和3d Max;

2)豐富的組件功能和插件功能。Unity 3D編輯器中包含2D與3D場(chǎng)景設(shè)計(jì)工具、NVIDIA PhysX物理引擎、光照、音頻系統(tǒng)、Sprite管理工具、GUI插件、粒子效果和關(guān)鍵幀清單動(dòng)畫(huà)系統(tǒng)[13],可以滿足智能家具常見(jiàn)功能的模擬;

3)可以通過(guò)串口與外部機(jī)械元件通信,接收單片機(jī)指令,實(shí)現(xiàn)家具功能外部控制,內(nèi)部模擬。

3 設(shè)計(jì)案例

衣柜作為家庭中必不可少的一種家具,主要功能是存放衣物、裝飾室內(nèi)空間。目前對(duì)于智能衣柜的設(shè)計(jì)還處于起步階段,其設(shè)計(jì)開(kāi)發(fā)還有很多可研究的空間。

3.1 設(shè)計(jì)背景

產(chǎn)品定位為當(dāng)下80、90后年輕人,因?yàn)槟贻p人對(duì)新鮮事物興趣度較高,其思想和觀念相對(duì)比較前衛(wèi),更追求個(gè)性化、與眾不同,對(duì)于產(chǎn)品美觀性的重視往往超過(guò)對(duì)產(chǎn)品價(jià)值的考慮[14]。

外觀設(shè)計(jì)是受蒙德里安《紅黃藍(lán)的構(gòu)成》作品的啟發(fā)(圖1)。蒙德里安的主要理念是:自然界中的各種元素都可以用簡(jiǎn)單的水平、垂直線來(lái)表示[15]。而《紅黃藍(lán)的構(gòu)成》這幅作品將水平垂直線與三原色置于大小看似毫無(wú)規(guī)矩的網(wǎng)格結(jié)構(gòu)中,使每種元素的位置和面積最終達(dá)到一種和諧與平衡。

圖1 紅黃藍(lán)的構(gòu)成Fig. 1 Composition with red, blue, and yellow

3.2 系統(tǒng)總體結(jié)構(gòu)

本研究以家具智能化理論為基礎(chǔ),設(shè)計(jì)一款可以手勢(shì)自動(dòng)開(kāi)關(guān)門(mén)的智能衣柜,應(yīng)用CAD、3d Max軟件設(shè)計(jì)衣柜的造型,在外部依靠傳感器和單片機(jī)控制,通過(guò)軟件與硬件兩部分,結(jié)合Unity 3D技術(shù)在電腦中模擬衣柜開(kāi)關(guān)門(mén)的效果。系統(tǒng)總體結(jié)構(gòu)框圖如圖2所示。

圖2 系統(tǒng)結(jié)構(gòu)框圖Fig. 2 System structure diagram

3.3 設(shè)計(jì)方法

3.3.1 衣柜模型建立

在造型上,《紅黃藍(lán)的構(gòu)成》畫(huà)作中水平垂直線以及紅黃藍(lán)三色的元素都在本設(shè)計(jì)中有所體現(xiàn),并在該畫(huà)作的風(fēng)格基礎(chǔ)上將顏色加深為深紅、深藍(lán)和姜黃色,而黑色的部分可以用來(lái)安裝元器件,使其在柜體中不是很顯眼,到達(dá)“隱形”的效果。

材質(zhì)部分,門(mén)板都采用亞克力板,打造輕盈、簡(jiǎn)潔的形象。

在結(jié)構(gòu)上,衣柜的分區(qū)設(shè)計(jì)成中間為移門(mén)衣柜,用于懸掛易皺或熨燙平整的外套等衣物;左側(cè)為轉(zhuǎn)門(mén),用于存放擺放疊好的衣物、換季衣被、儲(chǔ)物盒等;右側(cè)為抽拉門(mén),上層可放置短款衣物,下層為褲掛。多變的開(kāi)門(mén)方式為衣柜增加一些趣味性,更大化利用了柜內(nèi)空間,更方便了衣服的拿取。通過(guò)CAD和3d Max建立衣柜的模型,效果圖如圖3。

圖3 設(shè)計(jì)案例效果Fig. 3 Designs of case rendering

3.3.2 程序編寫(xiě)及硬件連接

光電感應(yīng)開(kāi)關(guān)門(mén)部分本研究選用STC89C52型單片機(jī)、E18-D80NK型光電開(kāi)關(guān)作為外部元器件。STC89C52型單片機(jī)是較為經(jīng)典的具有MCS-51內(nèi)核、8位CPU的單片機(jī)。

E18-D80NK型光電開(kāi)關(guān)是基于紅外線反射原理的光電開(kāi)關(guān),采用三線制導(dǎo)線連接,檢測(cè)距離可以根據(jù)要求進(jìn)行調(diào)節(jié),距離可調(diào)節(jié)范圍為3~80 cm,工作電壓為5~36 V,工作環(huán)境溫度為-25 ℃~+55 ℃。電路圖見(jiàn)圖4。

圖4 電路圖Fig. 4 Circuit diagram

圖5 系統(tǒng)程序框圖Fig. 5 System program block flow diagram

開(kāi)發(fā)環(huán)境為keil uvision3,系統(tǒng)邏輯程序如圖5所示。系統(tǒng)控制原理如下:首先需要將程序以及紅外模塊依次初始化,接下來(lái)判斷紅外傳感器A或紅外傳感器B是否有信號(hào)。若紅外傳感器A檢測(cè)到了信號(hào),且把檢測(cè)變量對(duì)2取余數(shù)后,判斷結(jié)果是否為奇數(shù),若為奇數(shù),則A電機(jī)正轉(zhuǎn)3 s,否則A電機(jī)反轉(zhuǎn)3 s,3 s后A電機(jī)停轉(zhuǎn),紅外模塊恢復(fù)初始化;若紅外傳感器B檢測(cè)到信號(hào),且把檢測(cè)變量對(duì)2取余數(shù),判斷是否為奇數(shù),若為奇數(shù),則B電機(jī)正轉(zhuǎn)3 s,否則B電機(jī)反轉(zhuǎn)3 s,3 s后B電機(jī)停轉(zhuǎn),紅外模塊恢復(fù)初始化;若紅外傳感器A、B均未檢測(cè)到信號(hào),則A、B電機(jī)不轉(zhuǎn),紅外模塊保持初始化。后續(xù)重復(fù)以上操作,同時(shí)發(fā)送字符串“open”和“close”到Unity 3D中。將編寫(xiě)好的程序通過(guò)STC-ISP軟件冷啟動(dòng)上電燒錄進(jìn)單片機(jī)。

3.3.3 創(chuàng)建Unity 3D工程及模型導(dǎo)入

Unity 3D平臺(tái)中支持許多常見(jiàn)的3D模型制作軟件,最常用的為.FBX文件格式。首先將在3d Max中做好的衣柜立體模型文件備份后,保存為.FBX 格式文件導(dǎo)出,圖6為文件導(dǎo)出圖,導(dǎo)出后置于工程文件夾中的Assets文件夾下,并在場(chǎng)景視圖中打開(kāi)。由于模型、材質(zhì)都已在3d Max中創(chuàng)建好,因此在Unity 3D中不需要重復(fù)添加。將模型拖到Project面板下,對(duì)模型進(jìn)行簡(jiǎn)單烘焙,調(diào)整攝像機(jī)位置,使模型出現(xiàn)在畫(huà)面中。

圖6 FBX文件導(dǎo)出Fig. 6 Import FBX file

圖7 開(kāi)關(guān)門(mén)動(dòng)畫(huà)腳本Fig. 7 Switch door animation script

3.3.4 組件功能建立

物體是組件的容器。在Unity 3D中,物體的大部分功能的實(shí)現(xiàn)都是由組件來(lái)完成的,腳本也是一種組件。腳本開(kāi)發(fā)環(huán)境為Microsoft Visual Studio。依次點(diǎn)擊Create-C#Script創(chuàng)建C#腳本。為了多角度觀察衣柜,通過(guò)bool函數(shù)判定當(dāng)前無(wú)法切換視角,當(dāng)相機(jī)速度大于0,改變bool值來(lái)切換視角;通過(guò)Vector3.SmoothDamp函數(shù)設(shè)置當(dāng)前攝像機(jī)的位置和要接近的位置,腳本圖如圖7所示。本研究用到的另一種組件為變換Transform組件,變換組件表示了對(duì)象的位置、朝向和縮放的信息,且是每個(gè)對(duì)象必須有且無(wú)法刪除的。打開(kāi)動(dòng)畫(huà)設(shè)置界面,選擇右門(mén)這個(gè)組件,添加動(dòng)畫(huà)。打開(kāi)錄制模式,選擇關(guān)鍵幀,更改Transform面板下門(mén)的position中x的數(shù)值為單扇門(mén)寬度,使之能移動(dòng)到合適的位置。

3.3.5 串口通信

由于單片機(jī)和計(jì)算機(jī)的電平不同,需要一個(gè)電平轉(zhuǎn)換芯片MAX232。MAX232芯片可以將計(jì)算機(jī)輸出的電平轉(zhuǎn)換為單片機(jī)可以識(shí)別的0V/5V電平,從而實(shí)現(xiàn)了計(jì)算機(jī)和單片機(jī)之間的通信。

進(jìn)行串口通信時(shí)首先需要將單片機(jī)的COM端口打開(kāi),并在Unity 3D中識(shí)別該端口,在keil uVision3中編寫(xiě)開(kāi)關(guān)門(mén)字符串分別為“open1”和“close1”單片機(jī)發(fā)送串口數(shù)據(jù)部分程序如下:

void SendrStr(const uint8 *ptr)

{

do

{

SendOneByte(*ptr);

}while(*ptr++!=′

深水埗区| 雷山县| 西林县| 和平县| 亳州市| 盐山县| 通山县| 大港区| 札达县| 安徽省| 洛川县| 漳平市| 南丹县| 科技| 佳木斯市| 宁远县| 那坡县| 噶尔县| 华坪县| 满城县| 安新县| 科尔| 平利县| 凤凰县| 佛山市| 建水县| 遂平县| 芦溪县| 普洱| 当雄县| 许昌县| 镇沅| 招远市| 榕江县| 台东市| 绥化市| 长泰县| 宿迁市| 洪泽县| 故城县| 社会|