首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手机加速度传感器的调用

MIT app编程应用

(安卓手机传感器部分)

大家好,今天我们来学习手机编程的传感器部分,本节课通过制作遥控手柄,来学习虚拟仪器键盘鼠标控制和手机传感器采集。把手机编程和虚拟仪器两个看似没有交集的领域联系起来,学会了本节课程后我们再也不用买游戏手柄了。

内容概要:

蓝牙方式基本的过程是:手机传感器信号,手机蓝牙数据传输,电脑蓝牙串口接收数据,数据解析,调用win32控制键盘鼠标,开启互动 wifi方式基本的过程是:手机传感器信号,手机http协议post传输数据,电脑TCP协议接收数据并响应,数据解析,调用win32控制键盘鼠标,开启互动 手机平衡状态的T范围是-10~+10,采集到的数据输入3态判断函数,其中a是中间的左右范围,下面是C代码表示的功能:

char range(int T,int a){

if(abs(T)>a) {

}

return "O";

}

例如手机加速度传感器输出在[-10,10] 分为3个区间[-10,-3)[-3,3](3,10] 输入数值后输出[A][O][B]。

通过范围的大小调节灵敏度

if(abs(输入)>范围) { //abs绝对值

if(输入>0)

if(输入

}

else return "O";

采集器的刷新频率不好控制,我们建立两个全局变量,用定时器来控制刷新频率,这样蓝牙发送数据[左右][上下][控制],如OOO表示无操作 RUK表示按下右键上键空格键 LDE表示按下左键下键回车键 win32里面控制键盘要按下/停顿/释放,千万不能弄反了,否则键盘会出现按键异常现象,可能C和V不能用,可能功能键, apk设计调试是重要的一个环节,使用实际的手机设备调试最好不过,拿着手机会感觉很麻烦的话,安装手机模拟器是很不错的选择,一些模拟器性能稳定助手甚至可以运行游戏,推荐蓝叠模拟器, 实现操作杆的控制,用正方的画布来作为上下左右的范围,精灵来作为操作杆对象,首先 按下获取到触摸位置 将精灵移动到触摸位 这个方法运行后会发现按下后精灵会偏移,我们需要处理一下:

[精灵xy]=[触摸xy]

[精灵xy]=[触摸xy]–[精灵尺寸]/2

[精灵xy]=[画布尺寸]/2–[精灵尺寸]/2

我们将直角坐标移动到画布原点就可以了,触摸坐标是局部变量,通过精灵来获取触摸位置:

[触摸xy]=[精灵xy]–[精灵尺寸]/2

需要注意的是画布获取到的精灵位置是左上角的位置, 接下来是添加按键,我们第一反应是用按钮,但是按钮的排版没有精灵控件灵活,我们再添加一个画布,这样控件都用精灵来实现,精灵1上下左右的操纵杆,独立占用一个画布,精灵2~精灵5在另一个画布,注意精灵与精灵的间距一定要控制好,离得太近会有同时按下的效果。 我们再做一个很好看的显示屏来显示状态。黑色的背景配合浅蓝色,连接状态模式,时间,操作显示用排版 为了防止蓝牙数据空发造成的错误,计时器运行代码里要添加跳闸操作:

[计时器]{ 程序代码 如果发送错误,[计时器]启用=F }

操作杆的数据更新到显示屏, 控制的数据都是由计时器控制更新周期,控制灵敏度。 最后是添加启动蓝牙与计时器添加传感器。

(添加微信公众号可查看大图)

lu yuan bin

" The quickest way to learn is to practice, a project will involve a wide range of knowledge, a little learning digestion, endless learning."

"This design is an original public welfare teaching course. The copyright of the content belongs to. It is only for study and not for profit-making activities."

——Dream doing(2018/12/31)

luyuanbin

千 里 教 学 基 地

微信公众号:qlyxgy

主页入口

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181231G0UVKV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券