陳浩文 劉忠富 曹天麟 趙爽
摘 要:隨著物聯(lián)網(wǎng)技術(shù)快速發(fā)展,人們的生活方式與工作習(xí)慣在漸漸發(fā)生了改變。面對(duì)多種智能化設(shè)備,如何實(shí)現(xiàn)對(duì)其進(jìn)行統(tǒng)一化控制成了一個(gè)急需解決的問題。本文設(shè)計(jì)了一種新型體感控制器其使用基于射頻技術(shù)的NRF905作為通訊模塊,以STM32為主控芯片,配合使用MPU6050等多種傳感器實(shí)現(xiàn)對(duì)手腕動(dòng)作信息的采集。該控制器實(shí)現(xiàn)了對(duì)人體特征動(dòng)作的識(shí)別以及對(duì)各種智能化設(shè)備進(jìn)行控制,使用戶與智能設(shè)備的溝通更加方便,具有一定的使用價(jià)值。
關(guān)鍵詞:RFID;NRF905;無線體感控制器;stm32
中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-2163(2016)01-
Abstract: With the rapid development of Internet of Things technology, the lifestyles and working habits have been gradually changed. In view of a variety of intelligent devices, how to achieve the unified control has become an urgent problem. In this paper, a novel somatosensory controller is presented, which adopts NRF905 based on radio frequency technology as the communication module, and STM32 as the master chip, to realize the information collection of wrist actions in conjunction with many other sensors such as MPU6050. The controller realizes the recognition of human characteristic actions and the operation of various intelligent control devices, which allows the users to communicate with intelligent devices more conveniently. So the controller has a certain application value.
Keywords: RFID; NRF905; wireless somatosensory controller; stm32
0引 言
近年來,隨著智能電視、平板電腦等高科技數(shù)碼產(chǎn)品的普及與蜂蜜,通過各種人機(jī)交互的實(shí)現(xiàn)在用戶體驗(yàn)上做到了直觀與新鮮。比如來自微軟的通過3D體感攝影實(shí)現(xiàn)動(dòng)態(tài)捕捉、影像辨識(shí)的Kinect;通過紅外攝像頭實(shí)現(xiàn)追蹤全部 10 只手指、識(shí)別精度高達(dá) 1/100 毫米的LeapMotion;以及加拿大創(chuàng)業(yè)公司Thalmic Labs推出的,通過探測用戶的肌肉產(chǎn)生的生物電活動(dòng)來達(dá)到識(shí)別用戶手勢的MYO腕帶[1]??梢钥闯鰺o線體感控制設(shè)備正在發(fā)揮著推動(dòng)物聯(lián)網(wǎng)發(fā)展的重要實(shí)體作用,因而成為當(dāng)下具有高度需求價(jià)值的熱點(diǎn)。本文即圍繞這一內(nèi)容給出系統(tǒng)論述和應(yīng)用設(shè)計(jì)。
1系統(tǒng)方案設(shè)計(jì)
無線體感控制器能夠?qū)崿F(xiàn)通過操作者手勢控制任何具有與該設(shè)備匹配的通信設(shè)備。比如機(jī)器小車,電腦光標(biāo),無人機(jī)等等[2]。本系統(tǒng)用智能小車來模擬被控設(shè)備,通過智能小車的行進(jìn)軌跡來評(píng)價(jià)設(shè)備的實(shí)用性??刂圃O(shè)備的主要工作原理是通過六軸傳感器MPU6050來進(jìn)行手勢動(dòng)作的采集,由STM32單片機(jī)處理又經(jīng)RF905發(fā)送到被控制的設(shè)備上,受控設(shè)備配有相同的通信芯片,接收到數(shù)據(jù)之后則送入51芯片進(jìn)行處理并執(zhí)行相應(yīng)動(dòng)作[3]。
2 系統(tǒng)硬件電路設(shè)計(jì)
本文設(shè)計(jì)的無線體感控制器可以分為兩個(gè)工作部分。發(fā)射端由主控芯片、NRF905無線發(fā)射模塊、MPU6050六軸運(yùn)動(dòng)處理模塊等組成,無線體感控制終端框圖如圖1所示。接收端用智能小車進(jìn)行模擬,小車由51主控芯片、直流電機(jī)、NRF905無線發(fā)射模塊等組成。
2.1 無線體感控制終端微控制器電路
對(duì)于無線體感控制終端,為了收獲良好的操作效果、呈現(xiàn)最佳用戶交互體驗(yàn),選用了6軸運(yùn)動(dòng)處理組件來識(shí)別用戶手勢[4]。而且,基于需要不斷采集角度等數(shù)據(jù)并實(shí)時(shí)進(jìn)行數(shù)據(jù)處理的設(shè)計(jì)目標(biāo)指向,因此上對(duì)于微控制器的工作頻率以及程序存儲(chǔ)器容量均將提出一定的要求。
系統(tǒng)以STM32F103C8T6單片機(jī)為控制核心,STM32F103C8T6單片機(jī)是3.3V供電的低功耗微處理器,工作頻率最高可達(dá)到72MHz,64K程序存儲(chǔ)器,性能比普通8051更強(qiáng)大,且成本較低,能夠滿足更為復(fù)雜的應(yīng)用系統(tǒng)設(shè)計(jì)。微處理器的實(shí)際具體連接布局如圖2所示。
2. 2 電源模塊電路
控制器采用5V聚合物鋰電池供電,由于STM32F103C8T6單片機(jī)與NRF905的工作電壓都是3.3V,研究選用了ASM1117-3.3穩(wěn)壓芯片來為系統(tǒng)提供3.3V電壓。需要一提的是,STM32F103C8T6分為模擬地和數(shù)字地,為了保證其正常工作可將兩路電源進(jìn)行隔離設(shè)計(jì),即在模擬地和數(shù)字地之間通過0Ω電阻實(shí)現(xiàn)單點(diǎn)共地。
2. 3 NRF905無線發(fā)射模塊電路
無線發(fā)射模塊是終端數(shù)據(jù)傳輸?shù)木唧w實(shí)施可執(zhí)行流程。NRF905芯片是基于RF通信技術(shù)的一款無線收發(fā)芯片,其工作電源電壓為3.3V,輸出功率可調(diào)-10~10dBm,通過SPI的接口方式能夠直接對(duì)其進(jìn)行編程配置。NRF905應(yīng)用電路如圖3所示。
2. 4 體感檢測電路
體感檢測部分選用六軸運(yùn)動(dòng)處理組件MPU-6050來進(jìn)行手勢識(shí)別,其中的三軸MEMS陀螺儀,分別檢測X軸、Y軸和Z軸的角速度[5]。體感檢測電路如圖4所示。
2.5 接收設(shè)備
接收設(shè)備為一智能小車,實(shí)現(xiàn)的主要功能是作為被控設(shè)備,將無線體感控制終端發(fā)送的數(shù)據(jù)進(jìn)行判斷,并作出前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等響應(yīng)。該設(shè)備硬件主要由51單片機(jī)、接收模塊以及四路直流電機(jī)組成,接收模塊的電路和控制終端的電路幾乎相同,直流電機(jī)需要7.2V供電,并且是以L293D為其核心的驅(qū)動(dòng)電路。
3系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件部分包括有發(fā)送端程序和接收端程序。其中,發(fā)送端程序主要功能是完成對(duì)手勢信息的識(shí)別并控制NRF905無線模塊將手勢信息進(jìn)行實(shí)時(shí)發(fā)送。接收端則主要完成數(shù)據(jù)的接收和判斷以及對(duì)不同手勢的響應(yīng)。本系統(tǒng)所有程序均采用C語言來實(shí)現(xiàn)編寫調(diào)制。
3.1 終端程序設(shè)計(jì)
3.1.1 MPU6050相關(guān)配置
首先進(jìn)行手勢信息的采集,并對(duì)MPU6050提供初始化配置,具體內(nèi)容包括:配置REG_PWR_MGMT_1寄存器,實(shí)現(xiàn)軟復(fù)位MPU6050;配置REG_ CONFIG寄存器分為加速度計(jì)和為陀螺儀設(shè)置采樣率為8Khz;配置REG_ GYRO_CONFIG寄存器使陀螺儀的量程為±2000°/s;配置加速度計(jì)的最大量程為±8g;配置REG_ INT_ENABLE使其終端產(chǎn)生方式定制為Motio detectoin,就是若有動(dòng)作即產(chǎn)生中斷。至此,MPU6050初始化配置結(jié)束。
完成MPU6050初始化后,主控芯片將通過I2C總線讀取MPU6050的數(shù)據(jù)寄存器并融合相應(yīng)算法得到相應(yīng)歐拉角。通過對(duì)歐拉角的判別則可達(dá)成到手勢識(shí)別的目的。
3.1.2 NRF905相關(guān)配置
NRF905寄存器的配置內(nèi)容可描述為:將NRF905初始化后,對(duì)應(yīng)結(jié)果是輸出功率為+10dB,外接16MHZ晶振,發(fā)送地址寬度為4字節(jié),數(shù)據(jù)寬度為4字節(jié)。將NRF905寄存器配置在433MHZ工作頻段,并將HFREQ_PLL位置“0”,使通道間的頻差為100KHZ。將NRF905的TRX_CE管腳置“1”,TX_EN置“0”使NRF905進(jìn)入發(fā)送模式,在一個(gè)動(dòng)作數(shù)據(jù)包發(fā)送完成后DR引腳將會(huì)置高來通知,由此告知單片機(jī)已經(jīng)發(fā)送了數(shù)據(jù)。單片機(jī)判斷發(fā)送完成后,即將NRF905配置為正常模式,并轉(zhuǎn)入檢測動(dòng)作輸入狀態(tài),繼續(xù)進(jìn)行下一次動(dòng)作采集,如此循環(huán)往復(fù)[6]。控制終端程序框圖如圖5所示。
3.2 接收處理中心程序
接收處理中心是將NRF905配置成接收模式,接收到手勢信息并將其實(shí)現(xiàn)。
在初始化時(shí),將NRF905配置寄存器的CH_NO位設(shè)定為0X4C,使其工作在430MHz的頻點(diǎn)上,將HFREQ_PLL位則置于“0”,通道間的頻差為100KHZ。設(shè)置NRF905的TRX_CE=“1”、TX_EN=“0”使之處于接收狀態(tài),NRF905會(huì)自動(dòng)檢測載波,接收到相同頻率載波后載波檢測引腳AM將會(huì)置為高,收到一個(gè)正確的數(shù)據(jù)后DR引腳相應(yīng)也會(huì)置高。完成如上設(shè)置后,單片機(jī)將讀取接收到的手勢信息數(shù)據(jù)并根據(jù)信息執(zhí)行前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的動(dòng)作。
4 結(jié)束語
本文將STM32F103C8T6單片機(jī)、NRF905無線發(fā)射模塊、MPU6050相結(jié)合,具體設(shè)計(jì)并實(shí)現(xiàn)了一種新型的無線體感控制器,通過操作者手勢能夠控制可與其相匹配的通信設(shè)備。比如機(jī)器小車、電腦光標(biāo)、無人機(jī)等等。為智能家居的理想規(guī)劃實(shí)踐奠定了基礎(chǔ),具有一定的現(xiàn)實(shí)推廣價(jià)值。
參考文獻(xiàn):
[1] 王娟.基于RFID的新型交互式生命搜救儀器[J].電子技術(shù),2010,37(12):47-49.
[2] 潘新民,王燕芳.微型計(jì)算機(jī)控制技術(shù)[M].北京:高等教育出版社,2002:232-243.
[3] 孫利民,李建中.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[4] 蔣海濤,郭站營.基于 MEMS 加速度傳感器的飛行器傾角測量系統(tǒng)設(shè)計(jì)[J] .計(jì)算機(jī)測量與控制,2010,18(1):107-109.
[5] 邰莉.三維磁阻式電子羅盤的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),2009:1-4.
[6] 彭軍.傳感器與檢測技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003.