0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

具有体感模块和语音模块的多功能蓝牙遥控器的设计

电子设计 作者:电子设计 2018-11-09 08:50 次阅读

随着三网融合的推进,多功能电视机顶盒已经进入了千家万户。电视除了能够收看电视节目外,视频点播、浏览网页、多媒体游戏、视频通话等功能也已经或即将被引入现代电视(或电视机顶盒)中。因此,仅具有按键功能的红外线遥控器已经无法满足如此众多的功能需求。为此,本文在普通遥控器的按键功能上增加了体感模块和语音模块,引入了体感控制算法,并以蓝牙协议作为通信方式,设计了一款具有体感控制功能的多功能遥控器。

1 系统总体设计

系统总体设计框图如图1所示。系统以HL1010芯片为控制核心,数字加速度传感器、数字陀螺仪和地磁计的数据通过I2C总线传至HL1010的8051微控制器,经过滤波和体感算法的处理,转化为主机服务端可用的数据,由HL1010的蓝牙控制器传至主机服务端。8051微控制器对键盘模块进行键盘扫描,将键值通过蓝牙发送至主机服务端外,还可以进行简单的音频压缩和解码,并通过蓝牙控制器和语音模块,完成遥控器和主机服务端的语音传输。遥控器中加入了E2PROM,用以存储程序和初始化数据以及蓝牙通信所需的重连信息电源管理模块用以管理各个模块之间的电源,达到节能和延长电池使用寿命的作用。此外,串口接口为HL1010烧录程序的接口。

具有体感模块和语音模块的多功能蓝牙遥控器的设计

2 硬件设计

2.1 HL1010接口及外围电路

HL1010为蓝牙控制芯片,其特点是:除了具有独立的蓝牙控制核心外,还集成了一颗8051微控制器核心;具有28个独立的GPIO,两路语音输入输出通道;集成了I2C和SPI控制器,便于外围设备的扩展;内部固化了键盘扫描固件,可以通过简单的寄存器读写完成键盘扫描。

利用HL1010的外围电路,其中,GPIO10~GPIO17作为键盘行扫描,GPIO30~GPI-O37作为键盘列扫描;GPIO20~GPIO27为电源管理GPIO,分别通过软件来控制加速度传感器、数字陀螺仪、地磁计、E2PROM、扬声器、振动电机等模块的开关,以达到节能的作用;Pin44、45、48、49、50为语音模块接口,pin23、24为I2C接口。其余引脚为芯片的供电射频匹配电路。HL1010的外围电路可参考文献。

2.2 传感器模块

表1为本设计中传感器的部分参数,三个传感器都通过I2C总线与主控芯片进行交互,电路设计较为简单。

具有体感模块和语音模块的多功能蓝牙遥控器的设计

3 软件设计

3.1 体感算法

体感功能中最常用的是空中鼠标,即通过遥控器在空中的挥舞来控制屏幕中鼠标的运动,同时通过遥控器按键实现鼠标按键的操作,从而使用户能在远距离的三维空间中获得鼠标的操作功能。为了实现空中鼠标的功能,本文采用陀螺仪和加速度传感器。通过对陀螺仪得到的角速度数据分析得出遥控器的运动状态,作为空中鼠标的主要数据;通过对加速度传感器提供的加速度(主要是判断重力加速度的方向)数据进行分析,得到遥控器所处的姿态,从而对陀螺仪的数据进行坐标转换。陀螺仪所得数据中与重力加速度平行的方向为Y轴,与重力加速度垂直的为X轴,使最终空中鼠标的Y轴与重力加速度的平行方向始终一致、X轴与重力加速度的垂直方向始终一致。其数学方法如下[3-4]:

遥控器的加速度为as,大地系加速度为ai,两者的转化关系为:

ai=asRis (1)

其中,Ris为遥控器相对于大地系的余弦阵,其表达式为:

具有体感模块和语音模块的多功能蓝牙遥控器的设计

经过坐标转换后,无论使用者如何将遥控器握在手中(正握,反握,竖立,倒立等),空中鼠标的运动仅与使用者手臂的运动方向有关,而与遥控器的运动方向无关。

算法的主要流程为:(1)对角速度进行采样,并进行数字滤波;(2)对加速度进行采样,并进行数字滤波;(3)通过加速度传感器数据对陀螺仪的坐标轴进行旋转;(4)计算鼠标两个轴的偏移量;(5)通过键盘扫描得到鼠标按键键值;(6)通过HID协议将键值发送给服务端。数据流程如图2所示。

具有体感模块和语音模块的多功能蓝牙遥控器的设计

3.2 状态机

软件通过状态机控制遥控器处于不同的工作状态。该状态机包括配对状态、重连状态、连接状态和休眠状态。遥控器状态示意图如图3所示。

具有体感模块和语音模块的多功能蓝牙遥控器的设计

(1)睡眠状态。系统开机首先进入睡眠模式,当按下任意按键(配对键除外)或者摇动遥控器时,遥控器被唤醒,如果遥控器中已经存有重连信息(最近一次与之配对的主机信息,包括BD Address和Pin Code)并且电量足够则进入重连状态,否则继续停留在睡眠状态。在睡眠状态中,遥控器将关闭8051微控制器、蓝牙控制器、加速度传感器、地磁传感器、E2PROM、语音模块以及所有LED,键盘和数字陀螺仪仍保持工作,但会降低采样频率,用作唤醒系统之用。

(2)重连状态。进入重连状态后,遥控器读取重连信息并尝试与最近一次配对的主机进行重连。如果重连成功则进入工作状态,如果多次重连失败则重新进入睡眠状态。在重连状态中,加速度传感器、地磁传感器、数字陀螺仪和语音模块将被关闭。

(3)配对状态。在任意状态下,如果用户按下配对键(工作模式下需要长按配对键),则遥控器清除重连信息并进入可发现状态。这时主机可以发现遥控器,并进行配对操作。在可发现状态中,加速度传感器、地磁传感器、数字陀螺仪和语音模块将被关闭。

(4)连接状态。进入工作状态后,如果用户长时间不使用遥控器,系统会增长sniff的间隔来降低功耗,最后会使系统进入睡眠状态。如果主机主动断开,连接系统则进入睡眠状态,如果连接意外断开,则系统会进入重连状态。在工作状态中,遥控器会根据不同的报文格式来选择所需的传感器和模块并控制是否给其供电,而且选择不同的sniff间隔以减少功耗。

通过样机的使用和测试,本设计方案中的遥控器解决了一般体感遥控器存在的主要问题:(1)做到了高性能与低成本的平衡:HL1010中的8051微控制器不仅满足了遥控器的性能要求,与一般的蓝牙控制芯片比较,不需要在外部另加微控制器,大大降低了成本;(2)有良好的抗环境干扰:方案中选用的蓝牙通信技术具有高速、高带宽和高保真等特点,并且运用调频技术可有效地防干扰;(3)功耗低:遥控器通过电源管理模块、状态机控制和连接时的长短sniff状态切换,有效降低了功耗,睡眠状态时电流在100 ?滋A以下,空中鼠标状态下,短sniff时电流为5 mA左右,长sniff时电流为1 mA左右;(4)良好的用户体验:空中鼠标中加入了体感算法后,用户无论以什么姿势握住遥控器都可以轻松地控制鼠标,加入了防抖程序后空中鼠标可以过滤掉用户手部的细微抖动,增加了控制的精确度,在缩短sniff间隔后遥控器可以做到每1000帧/s以上的报告速率,可以完成某些高要求的体感游戏的控制。遥控器中的键盘功能和语音功能实现比较简单,并且与体感算法无关。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48086

    浏览量

    740005
  • 蓝牙
    +关注

    关注

    112

    文章

    5428

    浏览量

    165646
  • 遥控器
    +关注

    关注

    18

    文章

    814

    浏览量

    64237
收藏 人收藏

    评论

    相关推荐

    (四轴和两轮必备) STM32多功能遥控器开发板

    摇杆和按键、串口转USB芯片、主从一蓝牙模块和nRF24L01超远距离通信模块,所以该多功能遥控器
    发表于 08-21 12:51

    全能型的遥控器安瑞创智能遥控器AM006

    AM006的语音智能遥控技术。究竟智能语音遥控器AM006都有哪些惊艳表现,我们接着往下看。外观赏析:安瑞创智能遥控器AM006使用了传统的
    发表于 08-22 17:44

    设备应用于智能遥控器中的设计与实现

      摘要:基于高端智能电视机的需求和发展趋势,提出了基于HID 规范的游戏手柄,应用于智能遥控器中的设计方案和实现方案。在对智能遥控器各个功能模
    发表于 12-04 15:48

    NetRemote网络遥控器模块(遥控器+显示屏+语音控制) 资料

    NetRemote网络遥控器模块(遥控器+显示屏+语音控制) 相关资料网盘下载地址:http://pan.baidu.com/s/1Yor‐rNMPs22J4Fkq9OYJ2A
    发表于 08-26 17:03

    基于蓝牙遥控多功能智能小车设计

    ,电源部分采用两节3.7V锂电池供电.采用C语言模块化编程,提高开发效率.蓝牙控制功能.用按键或遥控器来控制小车....
    发表于 07-14 06:28

    蓝牙技术|伦茨科技智能语音遥控器方案简介

    随着智能时代的来临,智能遥控器也走进了我们的生活,越来越多的功能和简单的操作深得我们这些宅族的喜欢,只要轻说一句话就可以搞定很多复杂的遥控操作非常的方便。遥控器的单向
    发表于 12-09 10:52

    求助,有没有CH579带语音功能遥控器例程

    您好!请教一下,有没有CH579带语音功能遥控器例程,按键大概需要10个,支持这样的应用吗?谢谢!!官方为什么没有回复,我再描述一下我的需求:1、蓝牙
    发表于 09-05 07:19

    5.0蓝牙智能遥控器方案

    服务,OTA 升级服务等。IR红外遥控:可选单元,遥控器红外功能,主要包括红外遥控编解码及红外学习等。整体应用框图:特点多种控制模式可选:支持蓝牙
    发表于 10-11 14:18

    蓝牙遥控器系统的设计与实现

    【摘要】提出了一种在通信电台中嵌入蓝牙技术,利用蓝牙模块并结合个人数字助理技术完成无线遥控功能蓝牙
    发表于 03-14 15:18 192次下载

    多功能红外遥控器

    多功能红外遥控器
    发表于 06-20 10:03 1146次阅读
    <b class='flag-5'>多功能</b>红外<b class='flag-5'>遥控器</b>

    多功能红外遥控器电路图

    多功能红外遥控器电路图
    发表于 05-27 14:26 747次阅读
    <b class='flag-5'>多功能</b>红外<b class='flag-5'>遥控器</b>电路图

    多功能红外遥控器电路图

    多功能红外遥控器电路图
    发表于 05-30 14:29 1132次阅读
    <b class='flag-5'>多功能</b>红外<b class='flag-5'>遥控器</b>电路图

    体感算法多功能蓝牙遥控器设计方案

    功能的红外线遥控器已经无法满足如此众多的功能需求。为此,本文在普通遥控器的按键功能上增加了体感模块
    发表于 10-23 15:32 1次下载
    体感算法<b class='flag-5'>多功能</b><b class='flag-5'>蓝牙</b><b class='flag-5'>遥控器</b>设计方案

    基于体感算法的多功能蓝牙遥控器的设计

    功能的红外线遥控器已经无法满足如此众多的功能需求。为此,本文在普通遥控器的按键功能上增加了体感模块
    发表于 11-30 08:44 335次阅读
     基于体感算法的<b class='flag-5'>多功能</b><b class='flag-5'>蓝牙</b><b class='flag-5'>遥控器</b>的设计

    基于国民技术N32WB031的蓝牙语音遥控器解决方案

    N32WB031系列蓝牙芯片是国民技术新一代高性能、超低功耗的蓝牙5.1芯片,具有丰富的外设接口,在工业/能源、金融/消费、医疗、家电及汽车等行业领域用途非常广泛。本文介绍的蓝牙
    的头像 发表于 03-08 10:00 534次阅读
    基于国民技术N32WB031的<b class='flag-5'>蓝牙</b><b class='flag-5'>语音</b><b class='flag-5'>遥控器</b>解决方案