3917|1

426

帖子

4

TA的资源

纯净的硅(初级)

楼主
 

体感手套 #7 提交项目 [复制链接]

本帖最后由 北方 于 2017-9-26 15:57 编辑

(1)作品名称:体感手套
(2)作品实现功能简介:
      体感手套实现的功能是在一种智能手套,可以记录手的位置旋转和角度,通过解析这些位置信号,生成对于x对于运动的控制信号。
      这个控制命令通过FTHR开发板的UART口传送到蓝牙模块,通过蓝牙模块把控制信号发送出去,实现体感手套的远程控制。
      为了显示控制实现的效果,同时开发一个手机app,演示这个控制信号的控制效果。具体实现是一个基于web的VR图像,手套的控制信号,控制VR图像中的一个模型的状态变化。这个演示的效果,说明基于MAX32630FTHR的体感手套,可以作为独立的VR控制器来丰富VR控制的效果。
(3)原理图:
(4)软硬件设计思路:
- 首先检测传感器的数据,然后整形量化后用2-4-6-8四个数字字符表示对x-y方向的控制信号;
- 然后设定串口UART2(P3_1,P3_0),传输这个控制信号命令;
- 蓝牙透传模块接受这个数据后直接发送;
在手机APP端,
- 通过蓝牙管理程序index.js完成搜寻蓝牙模块,连接的功能,然后接受这个控制命令,并输出到counter.innerHTML的位置上;
- 启动的VR视觉设计a-frame,在初始化场景,天空等之后,读取counter的进行数据更新和控制。
(5)相关分享帖集锦:
(6)作品的源代码:
6.1 FTHR开发板用mbed编程后输出的文档 FTHR_Gloove_uvision5_max32630fthr.zip (4.64 MB, 下载次数: 5) ,和可执行文件 FTHR_Gloove_MAX32630FTHR.bin (27.08 KB, 下载次数: 1)
其中,设定串口和蓝牙传输部分的语句为,
  1. void sendingXY(char xyDirection);
  2. // Hardware serial port over UART2
  3. Serial btlink(P3_1, P3_0); // serial(Tx,Rx); UART2
复制代码
其中采集数据和量化的语句为
  1.     imu.getGyroAccXYZandSensorTime(accData, gyroData, sensorTime, accConfig.range, gyroConfig.range);
  2.             imu.getTemperature(&imuTemperature);
  3.             
  4.             //  printf("ACC xAxis = %s%4.3f\n", "\033[K", accData.xAxis.scaled);
  5.             //  printf("ACC yAxis = %s%4.3f\n", "\033[K", accData.yAxis.scaled);
  6.             //  printf("ACC zAxis = %s%4.3f\n\n", "\033[K", accData.zAxis.scaled);
  7.             
  8.             printf("GYRO xAxis = %s%5.1f\n", "\033[K", gyroData.xAxis.scaled);
  9.             printf("GYRO yAxis = %s%5.1f\n", "\033[K", gyroData.yAxis.scaled);
  10.             printf("GYRO zAxis = %s%5.1f\n\n", "\033[K", gyroData.zAxis.scaled);
  11.             
  12.             //  printf("Sensor Time = %s%f\n", "\033[K", sensorTime.seconds);
  13.             //  printf("Sensor Temperature = %s%5.3f\n", "\033[K", imuTemperature);
  14.             
  15.             if (gyroData.xAxis.scaled > 1*xyTHRESHOLD) {
  16.                 xyDirection='6';}
  17.                 else if (gyroData.xAxis.scaled < (-1)*xyTHRESHOLD) {
  18.                     xyDirection='4';}
  19.                     else if (gyroData.yAxis.scaled > 1*xyTHRESHOLD) {
  20.                         xyDirection='8';}
  21.                         else if (gyroData.yAxis.scaled < (-1)*xyTHRESHOLD) {
  22.                             xyDirection='2';}
  23.                            
  24.             printf("xyDirection = %s%x\n", "\033[K", xyDirection);
  25.             sendingXY(xyDirection); //Sending xyDirection to bluetooth via UART

复制代码
6.2 使用js和html编写的app程序为 mobile_VR_MAX32630FTHR_final20170926.rar (3.22 KB, 下载次数: 2)
其中,使用a-frame管理并控制的语句为,
  1.        <script>
  2.                 AFRAME.registerComponent('handle-events', {
  3.                                schema: {
  4.                                              color: {default: 'red'}
  5.                                     },
  6.                         
  7.                             init: function () {

  8.                           var data = this.data;
  9.                           var el = this.el;  // <a-box>
  10.                           var defaultColor = el.getAttribute('material').color;
  11.                           var turnWidth ='1';
  12.                           var turnHeight ='1';
  13.                           
  14.                           
  15.                           var getCounter = document.getElementById("counter");
  16.                           if (getCounter='6') {
  17.                 turnWidth ='1';}
  18.                 else if if (getCounter='4') {
  19.                     turnWidth ='0.5';}
  20.                     else if if (getCounter='8') {
  21.                         turnHeight ='1';}
  22.                         else if if (getCounter='2') {
  23.                             turnHeight ='0.5';}
  24.                           
  25.                           el.setAttribute('width', turnWidth);
  26.                           el.setAttribute('height', turnHeight);

  27.                                     }
  28.                                   });

  29.                           </script>
复制代码


(7)大赛作品演示视频 :
7.1 硬件连接
7.2 手机截屏
7.3操作视频。(登陆不成功,先上传源文件)
VID_1.MOV (7.76 MB, 下载次数: 19)

(8)作品总结和展望:
这个完成后,安装在手套中,用电池供电,完成全部设计,在供电和尺寸上还需要优化。

最新回复

汇总贴在此: 体感手套—by 北方 https://bbs.eeworld.com.cn/forum ... 4975&fromuid=536508 (出处: 电子工程世界-论坛)   详情 回复 发表于 2017-10-2 15:39
点赞 关注
 

回复
举报

1万

帖子

2853

TA的资源

管理员

沙发
 
汇总贴在此:
体感手套—by 北方
https://bbs.eeworld.com.cn/forum ... 4975&fromuid=536508
(出处: 电子工程世界-论坛)
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表