通过手势控制的体感音响-《无线电》2012年第12期
2012-12-26 15:38:51
在一些科幻电影中,我们经常能看到人们用手指在空中划动几下就可以控制一台机器。现在我要介绍一款音响,它不是一台普通的音响,而是一款能感知手势的音响。没有开关,没有按键,甚至连一个音量控制旋钮都没有,完全通过探测你的手势来实现开/关机、音量的增/减等操作。
你一定想知道它是怎么工作的,原理其实很简单,就是使用传感器来测量手与机器的距离,根据不同的距离来控制音响,整个系统的构成如图1所示。当然这是一维探测,如果有两个传感器水平放置,通过计算两个传感器与手的距离差就可以进行二维控制。
图1 体感音响的系统构成
材料准备
□ 测距传感器
目前市面上比较流行的测距方法有3种:无线电测距(也就是常说的雷达)、激光测距和超声波测距。无线电测距在这里显然不行,我们的测距探头要求达到毫
米级的精度,而且长时间的电磁辐射会对身体造成伤害。至于激光测距,探头通常造价不菲,另外过强的激光束可能伤害到眼睛。因此,最合适的要数超声波测距了。超声波只是发射出听不见的声音,精度可以保证,还存在盲区小的优点,不会发生手晃动一下,传感器就失去目标的现象。
为了简化硬件设计,最好购买现成的模块,实物如图2所示。
□中央控制器
过去,51内核的单片机牢牢地占据着微控制器市场,直到现在也是初学者入门嵌入式系统的绝佳选择。然而任何事物都有一个生命周期,51内核的“先天不足”越来越明显。cisc的复杂架构使芯片门数增加,从而导致功耗高,时钟频率难以提高。ram、rom容量普遍偏小,使其很难运行嵌入式实时操作系统,导致研发周期加长。从目前的形势来看,以arm公司coretex-m3为内核的stm32系列微控制器最合适不过了。以stm32f103rbt6芯片为例,仅十余元的价格,就带来很多令人兴奋的配置:最高72mhz的时钟频率,带有usb2.0、i2c、usart、spi、iis、can等接口,拥有128kb的片内flash、20kb的ram,拥有49个i/o口(gpio)、8个定时器,20ma的灌电流直接驱动led……最主要的是,可以运行μc/os-ii等流行的嵌入式操作系统。其资料也相当齐全,在网上可以找到很多开发板,有的不但附赠很多源代码,甚至还提供视频教程、配套书籍等。因此,不管你是老手还是新手,都是很值得一学的。
篇幅限制,未完待续,全文详见《无线电》2012年第12期