徐東陽 徐開懷 苗北辰 李志農(nóng)
【摘要】現(xiàn)在的智能電子設(shè)備的遙控器多數(shù)是按鍵式的,操作繁瑣不直觀,學(xué)習(xí)成本大,加上老年人視力普遍不好,給老年人操作帶來了巨大的障礙。手勢遙控器是指利用簡單的手勢來指揮電子設(shè)備,獲得便捷的操作體驗(yàn),讓老年人也可以享受科技發(fā)展帶來的便利。MPU6050是一個運(yùn)動傳感器,內(nèi)置陀螺儀,可以快速精確的感應(yīng)到當(dāng)前運(yùn)動的方向及加速度大小,將這些數(shù)據(jù)通過藍(lán)牙傳送給要控制的電子設(shè)備進(jìn)行分析即可對當(dāng)前的手勢進(jìn)行準(zhǔn)確快速的判斷,再由電子設(shè)備利用判斷結(jié)果做出相應(yīng)的動作即完成了通過手勢來控制電子設(shè)備的目標(biāo)。
【關(guān)鍵詞】MPU6050;手勢感應(yīng);手勢遙控
引言
隨著社會的發(fā)展進(jìn)步,越來越多的智能家電走到了尋常百姓家,智能家電為我們的生活提供了巨大的方便。但與此同時我們也注意到了一些現(xiàn)象,智能家電功能豐富,伴隨而來的就是復(fù)雜的操作性,家電控制面板或者遙控器上許多按鍵分別負(fù)責(zé)不同的功能,為了實(shí)現(xiàn)特定的功能,可能還要求一些組合按鍵……年輕人學(xué)習(xí)起來尚要花費(fèi)些功夫,更不必說老年人了,老年人學(xué)習(xí)接受能力不如年輕人,更糟糕的是老年人的視力普遍不太好,,很容易按錯誤操作。為了讓老年人像我們一樣方便的操作智能家電設(shè)備,享受科技進(jìn)步帶來的便利,我們想到了如果能通過一些簡單的手勢運(yùn)動軌跡給智能家電發(fā)送指令,操作它們,這將給這一尷尬局面帶來巨大的緩解。比如用手勢上揚(yáng)調(diào)節(jié)空調(diào)溫度上升、用手勢下甩控制空調(diào)溫度下降,看電視時用上揚(yáng)手勢節(jié)目加一、下甩一下節(jié)目減一、向右甩音量增大、向左甩音量減小……也可以定義更多的手勢來實(shí)現(xiàn)更豐富的功能,比如手勢在空中劃一個“X“形,一個“0”形等等。經(jīng)過我們的了解,目前這方面的研究還比較少,也沒有公開各自的實(shí)現(xiàn)方案,有比較大的發(fā)展空間。為了驗(yàn)證設(shè)想的可行性,我們選擇了具有代表性的一個方面來進(jìn)行設(shè)計實(shí)現(xiàn):用手勢來控制小燈泡的亮滅。在查閱了許多資料之后我們做出了自己的系統(tǒng)規(guī)劃,系統(tǒng)包括手勢感應(yīng)子系統(tǒng)和終端子系統(tǒng),手勢感應(yīng)子系統(tǒng)可以負(fù)責(zé)收集當(dāng)前手勢運(yùn)動軌跡數(shù)據(jù),包括手勢運(yùn)動軌跡加速度的大小并將這些數(shù)據(jù)通過藍(lán)牙實(shí)時的傳送給終端子系統(tǒng),終端子系統(tǒng)負(fù)責(zé)對手勢感應(yīng)子系統(tǒng)傳回的數(shù)據(jù)進(jìn)行計算,分析出當(dāng)前手勢運(yùn)動的方向,并做出相應(yīng)的動作,來完成通過手勢控制電子設(shè)備的目的。下面給出具體設(shè)計。
圖1
1.手勢感應(yīng)子系統(tǒng)的實(shí)現(xiàn)
硬件部分的實(shí)現(xiàn):
手勢感應(yīng)子系統(tǒng)主要包括MPU6050,80C52單片機(jī),藍(lán)牙模塊。MPU6050是一個九軸姿態(tài)識別模塊,可以識別出當(dāng)前手勢軌跡的X,Y,Z軸方向上的加速度和角速度,X,Y,Z的正方向分別為正右,正前,正上方。本項目只需X,Y,Z軸方向上的加速度即可計算出手勢的方向,所以發(fā)送的一組數(shù)據(jù)包包括三個數(shù)據(jù),分別為X,Y,Z軸方向上的加速度。MPU6050和80C52單片機(jī)通過IIC通信協(xié)議進(jìn)行通信,其上的SCL,SDA引腳分別接單片機(jī)的1.5,1.6引腳來實(shí)現(xiàn)單片機(jī)和mpu6050之間控制命令的發(fā)放和手勢數(shù)據(jù)的傳送。藍(lán)牙模塊采用Blue2.0,理論傳輸速率1Mb/s,有效距離100M,設(shè)置為主模塊,和單片機(jī)通過串口通信他的TX,RX分別接單片機(jī)的RX,TX。單片機(jī)接收mpu6050的數(shù)據(jù)并實(shí)時通過串口轉(zhuǎn)發(fā)出去,和單片機(jī)相連藍(lán)牙模塊接收到單片機(jī)從串口發(fā)來的數(shù)據(jù)立即通過藍(lán)牙轉(zhuǎn)發(fā)出去,供給終端子系統(tǒng)利用。具體設(shè)計實(shí)物圖見圖1,連接電路圖見圖2。
2.終端子系統(tǒng)的實(shí)現(xiàn)
2.1 硬件部分的實(shí)現(xiàn)
終端子系統(tǒng)主要包括藍(lán)牙模塊,80C52控制模塊,和小燈泡組成。藍(lán)牙模塊設(shè)置為從模塊,并和主模塊通過地址綁定后一對一通信防止其他藍(lán)牙信號干擾,通電后主模塊和從模塊自動配對,如果主模塊有數(shù)據(jù)傳送則立即通過串口接收,他的TX,RX分別和單片機(jī)的RX,TX連接。小燈泡的正極和單片機(jī)的0.0連接,負(fù)極接單片機(jī)的GND端。當(dāng)手勢感應(yīng)端感應(yīng)到上升的手勢時候,單片機(jī)的0.0端口被置為高電平,小燈泡發(fā)光,當(dāng)手勢感應(yīng)端感應(yīng)到下降的手勢時候,單片機(jī)的0.0端口被置為高電平,小燈泡關(guān)閉。具體連接電路圖見圖3。
2.2 軟件部分設(shè)計
程序的主要功能是利用接收到的運(yùn)動數(shù)據(jù)識別出當(dāng)前手勢運(yùn)動的方向,并根據(jù)手勢方向控制小燈泡的兩滅。程序的核心部分是通過mpu6050返回的數(shù)據(jù)判斷當(dāng)前手勢的方向。接收到的數(shù)據(jù)包括X,Y,Z軸方向上的加速度,為了防止輕微抖動時的誤判,當(dāng)X,Y,Z軸的值小于設(shè)定的閾值是程序不做出反應(yīng),當(dāng)大于閾值時比較X,Y,Z軸加速度絕對值的大小,絕對值最大的方向?yàn)槭謩莸闹鞣较颍缓笤倥袛嘣摲较蛑档恼?fù)就可以確定手勢的最終方向。比如X,Y,Z軸方向的值分別為(2,-3,-10),就可以確定當(dāng)前運(yùn)動方向?yàn)橄蛳?,?.0為低電平,燈泡熄滅。
3.結(jié)語
本系統(tǒng)實(shí)現(xiàn)了利用手勢控制燈泡亮滅的目標(biāo),可以取代傳統(tǒng)遙控通過按鍵去控制的繁瑣,實(shí)現(xiàn)的簡單卻有代表性,通過改進(jìn)程序來對更多的手勢實(shí)現(xiàn)判斷即可控制更豐富的設(shè)備推廣到更多的領(lǐng)域,讓更多的人享受到科技發(fā)展的便利!
參考文獻(xiàn)
[1]圖書——郭天祥.新概念51單片機(jī)C語言教程[M].電子工業(yè)出版社.