<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 使用電場(chǎng)傳感器MC33794的模擬游戲控制器

使用電場(chǎng)傳感器MC33794的模擬游戲控制器

作者: 時(shí)間:2007-12-12 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要 本文通過(guò)Freescale公司的設計并實(shí)現了一種新型的。該游戲C805lF310作為主控芯片,通過(guò)非接觸方式感知手掌的姿態(tài),轉換為模擬量控制信息,起到能夠在游戲的各個(gè)方向上控制力度的作用。
關(guān)鍵詞 傳感囂 C805lF310


引 言
技術(shù)是測量技術(shù)、半導體技術(shù)和信息處理技術(shù)等眾多學(xué)科相互交叉的綜合性高新技術(shù)密集的前沿技術(shù)之一,也是當代科學(xué)技術(shù)發(fā)展的一個(gè)重要標志。如果說(shuō)計算機是人類(lèi)大腦的擴展,那么就是人類(lèi)五官的延伸。隨著(zhù)傳感器技術(shù)的發(fā)展,人機接口的種類(lèi)越來(lái)越豐富,從早期最簡(jiǎn)單的機械式按鈕、電位器旋鈕到現在的電容式觸摸感應、非接觸傳感、人臉識別及語(yǔ)音識別等,人機接口的智能性、易用性及可靠性也顯著(zhù)提高。本文通過(guò)Freescale公司的電場(chǎng)傳感器,設計了一種新型的控制器。該模擬游戲控制器通過(guò)電場(chǎng)傳感器的電極,非接觸感知手掌的姿態(tài),從而控制模擬游戲中各個(gè)方向上的力度,實(shí)現對“模擬量”控制的功能。
模擬游戲中,通常需要控制游戲中上、下、左、右各個(gè)方向上的力度。例如汽車(chē)模擬游戲中,通常需要控制游戲中汽車(chē)的油門(mén)及方向,這2個(gè)參數是確定汽車(chē)行駛的重要參數,而這些參數的變化是連續的,并且在不同的控制力度下汽車(chē)的行駛會(huì )有不同的表現。在以往的低成本游戲控制器中,不能感知這些強度連續變化的模擬量。在本設計中,將手掌放置于模擬游戲控制器電極上方,控制時(shí)只須變化手掌相對于游戲控制板電極平面的姿態(tài),就可以將游戲玩家需要的控制強度轉化為對游戲的控制強度,輸出到游戲控制中心,實(shí)現對游戲中被控物體的控制功能。


1 電場(chǎng)傳感器MC33794
電場(chǎng)是指存在于帶電物體的周?chē)?,使帶電物體能夠受到力的作用的空間。電場(chǎng)普遍存在于自然界中,物體的摩擦會(huì )轉移電荷產(chǎn)生電場(chǎng),鯊魚(yú)等魚(yú)類(lèi)通過(guò)電場(chǎng)偵測獵物,電子領(lǐng)域的電容器中存在穿過(guò)帶電電容極板的電場(chǎng)。只要物體可以看作是電容板,那么都可以成為電場(chǎng)感應器的一部分。幾乎所有的物體在其自身的電容和電場(chǎng)改變時(shí)都能夠被感應,電場(chǎng)和電容是物體問(wèn)相互作用的固有現象。通過(guò)一個(gè)主動(dòng)電極就能夠產(chǎn)生和調節一個(gè)電場(chǎng);具有一定介電常數的物體靠近電容的兩極,通過(guò)感應電極就可以測量到電容的變化。這樣就可以通過(guò)非接觸感應技術(shù)測量物體的三維空間位置變化。
FTeescale公司的電場(chǎng)傳感器MC33794適用于需要對物體進(jìn)行非接觸感應的應用。它包含了產(chǎn)生電場(chǎng)所必需的電路,能夠產(chǎn)生低水平電場(chǎng),測量由于物體在電場(chǎng)中移動(dòng)造成的電場(chǎng)負載。MC33794還可用于檢測與電極相關(guān)的電場(chǎng)中的物體。集成電路可以產(chǎn)生一個(gè)低頻正弦波。其頻率可通過(guò)使用外部電阻進(jìn)行調節,并優(yōu)化到125kHz。正弦波的諧波含量非常低,可以避免產(chǎn)生諧波干擾。內部產(chǎn)生器可以產(chǎn)生5.0V的峰一峰輸出電壓,并通過(guò)大約22Ω的內部電阻。MC33794與MCU的連接示意圖如圖1所示。

MC33794可以連接9個(gè)電極和2個(gè)參考電極,通過(guò)一個(gè)屏蔽驅動(dòng)以減小線(xiàn)纜電容回路對測量產(chǎn)生的影響。MC33794還帶有+5V的電壓調節器,可向外部單片機系統供電,同時(shí)還提供了一個(gè)燈驅動(dòng)輸出。

2 游戲控制器系統設計
2.1 組合型方向控制電極設計
電場(chǎng)傳感器能夠感知電場(chǎng)中物體在三維空間內的移動(dòng),物體感知原理如圖2所示。當手掌進(jìn)入電極產(chǎn)生的電場(chǎng)區域以后。電極卜的電流會(huì )有相應的變化,從而感知手掌距電極的距離。

根據此物體原理,可以通過(guò)使用MC33794的5個(gè)電極在同一平面內組成“十”字組合型方向控制電極,如圖3所示。該組合型方向控制電極可以感知電極上方5個(gè)垂直方向上的物體高度變化,將手掌置于組合電極上即可方便地對游戲中被控物體的方向進(jìn)行控制。單個(gè)電極選用八角型銅板,面積約為30 cm2(5cm6cm);整個(gè)“十”字組合型方向控制電極所占面積約為270cm2(15cm18cm),適合大部分成年人手掌覆蓋在此組合電極區域。針對兒童市場(chǎng),須使用更小尺寸的電極。

在使用時(shí),1~4號電極表示游戲中的4個(gè)方向,手掌相對這些電極的高度表示需要對這些方向上控制的強度,高度越低,表示需要控制的強度越大;由于在設計游戲控制器時(shí)考慮到如果手掌彎曲,那么將出現需要同時(shí)控制相反兩個(gè)方向的情況(這種控制方式在實(shí)際情況中不存在),因此在1~4號電極中間加入了5號電極,以檢測手掌彎曲狀態(tài)。又因為手掌不可能保持絕對水平,因此引入水平誤差系數ε。該參數使得控制平面允許有一定的彎曲度。
2.2 前端信號調理電路
MC33794輸出端LEVEL是O~3.5V變化的模擬信號,根據不同的電極種類(lèi),輸出的最大值會(huì )略有不同。當極板上方無(wú)物體時(shí),LEVEL輸出最大值;當有物體進(jìn)入電極感應區域后,LEVEL輸出電壓將會(huì )降低,最終降至OV。由于MC33794產(chǎn)生的電場(chǎng)為低水平電場(chǎng),電極較為敏感的區域在電極上方O~2cm處,而作為游戲控制器使用時(shí),需要用到的電極敏感區域為電極上方2~10cm處,因此在前端信號調理部分需要放大此高度區間內的信號。
圖4為前端信號調理電路圖。該電路由2個(gè)工作在反向放大模式下的LM358D運算放大器組成。電阻R8的滑動(dòng)端輸出VOFFSET偏置電壓,并輸入到放大器的正輸入端。MC33794的LEVEL信號接到第一級LM358D運算放大器的負輸入端,經(jīng)過(guò)放大后,輸出信號LEVEL_AMP的變化趨勢與LEVEL信號一致。

該信號放大電路輸出電壓與輸入電壓的關(guān)系為:


通過(guò)調節VOFFSET與R7的值,可以對LEVEL信號中所感興趣的電壓區間進(jìn)行放大,同時(shí)還可以控制輸出信號的幅度范圍。在該設計中,通過(guò)對LEVEL信號2.9~3.5V電壓區間內的信號放大,滿(mǎn)足了被測物體在電極上方2~10cm變化時(shí),輸出電壓在0~3.4V變化的靈敏度要求。
2.3 游戲控制器硬件設計
游戲控制器的主控MCU選用Silicon Lab公司的C805lF310單片機。該單片機集成有采樣頻率為200ksps的10位ADC,外設有串口及SPI等常用接口。當單片機工作在25MHz時(shí),速度町達25MIPS。
本設計中,將信號調理電路的輸出接到C8051F310的ADC輸入端,數據經(jīng)過(guò)計算后通過(guò)RS232串口發(fā)送至PC。系統硬件框圖如圖5所示。

將MC33794的A、B、C、D接到C805lF310的I/O口上,通過(guò)軟件控制I/O口輸出,選擇需要采樣的電極。MC33794共9個(gè)電極可以使用,其中E1~E5接控制方向的電極,其余電極用作其他按鍵。
2.4 游戲控制器軟件設計
控制器的軟件主要控制選擇電極、采樣、濾波、運算,最后將數據通過(guò)RS-232串口送回游戲控制中心。軟件的運算部分需要將方向控制電極上采集到的三維手掌姿態(tài)信息,變換為二維直角坐標平面內x軸與y軸上的數值,供游戲合成方向矢量使用。三維直角坐標系內,方向控制電極上所采集到的各點(diǎn)的電壓為這些點(diǎn)在z軸上的幅度值,分別表示為zE1、zE2、…、zE5,則在二維直角坐標系內x軸上的控制力度為△x=zE2-zE4,y軸上的控制力度為△y=zE3-zE1。當手掌平面與方向控制電極平面平行時(shí),△x與△y均為0;當手掌平面偏向1號與4號電極方向(即以1號電極為向前方向時(shí)的右前方向)時(shí),△x與△y均為正值,此時(shí),在二維直角坐標系內,合成后的方向矢量將在第一象限中。由于實(shí)際中不存在同時(shí)進(jìn)行兩個(gè)相反方向控制的情況。因此須事先約定手掌平面不能彎曲,同時(shí)引入水平誤差系數ε。計算方向矢量的同時(shí),各個(gè)變量還須滿(mǎn)足以下2個(gè)公式:


軟件流程如圖6所示。當手掌向右前方向傾斜時(shí),按照圖3所示的三維空間直角坐標系內的電極放置方向,分別對各個(gè)方向控制電極三維空問(wèn)內的坐標投影至xz和yz平面,即將2號與4號電極的三維坐標在xz平面上投影,將1號與3號電極的三維坐標在yz平面投影。投影后的xz與yz坐標如圖7所示。

當手掌向右前方向傾斜時(shí),二維坐標平面內x軸與y軸上的方向控制分量在坐標系內合成的方向控制矢量如圖8所示。

合成后的矢量v=△x+i△y,角度值為,模代表該方向上的力度。通過(guò)此向量便可控制游戲中被控物體的方向以及該方向上所需的控制強度。


結語(yǔ)

本設計通過(guò)使用電場(chǎng)傳感器實(shí)現了模擬游戲控制器,通過(guò)電場(chǎng)傳感器對三維空間的感知能力,給游戲玩家帶來(lái)了模擬游戲的全新體驗。目前,該游戲控制器已經(jīng)完成全部硬件調試及軟件測試。試驗結果表明.其完全實(shí)現了預計的控制功能,且工作良好。這種通過(guò)電場(chǎng)進(jìn)行控制的方式具有可靠性高、使用壽命長(cháng)、成本較低等特點(diǎn),同時(shí)還可以應用于各種需要控制模擬量的場(chǎng)合(如模型汽車(chē)控制板),具有廣闊的應用前景。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>