电动滑板手机端遥控程序
由 动力老男孩 发表于 2016/01/23 23:55:02各位朋友新年好!祝大家2016新年快乐!好久没有更新了,新的一年希望尽快把攻略补全
先把链接贴出来吧:
只想下载安装包使用的朋友点这里下载: http://7xic5x.com2.z0.glb.qiniucdn.com/NXTRemoteControl.apk
1. NXTTalker.java 这个类主要用于蓝牙通讯,包括连接、断开、发送和接收。
其中发送命令的部分代码为:
public void sendCmd(byte cmd) { byte[] data = {cmd}; write(data); } private void write(byte[] out) { ConnectedThread r; synchronized (this) { if (mState != STATE_CONNECTED) { return; } r = mConnectedThread; } r.write(out); }
其中大家比较关注的触屏事件代码如下:
public boolean onTouchEvent (MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: // 手指按下 case MotionEvent.ACTION_MOVE: // 手指移动 int x = (int)event.getRawX(); int y = (int)event.getRawY(); int viewWidth = getWindowManager().getDefaultDisplay().getWidth(); int viewHeight = getWindowManager().getDefaultDisplay().getHeight(); if ( 1.0 * x / viewWidth > 0.9) { if (!hornOpen) { mNXTTalker.setCtrlValue(204, 1); hornOpen = true; } } else { if (hornOpen) { mNXTTalker.setCtrlValue(205, 1); hornOpen = false; } } int offset = viewHeight / 6; // Use 20% as empty zone int power = 100 - (y - offset) * 100 / (viewHeight - 2 * offset); power = Math.min(100, Math.max(0, power)); mNXTTalker.setCtrlValue(power, 1); if ((inLowPowerArea && power > 53) || (!inLowPowerArea && power < 47)) { Vibrator mVibrator = (Vibrator)getApplication().getSystemService(Service.VIBRATOR_SERVICE); mVibrator.vibrate(200); inLowPowerArea = (power < 50); } break; case MotionEvent.ACTION_UP:// 手指抬起 mNXTTalker.setCtrlValue(255, 1); //手指抬起后轻带刹车 //mNXTTalker.setCtrlValue(50, 1); break; default: break; } return false; }
3. ChooseDeviceActivity.java \ LightActivity.java \ SettingActivity.java
这三个文件分别对应连接蓝牙设备,设置灯光,设置最高转速 三个界面。
指令规则:
这里说的指令规则,就是遥控端和接收端的通讯协议。一个比较好的协议,应该有较好的容错和扩展的能力。但是对于遥控电滑板来说,目前需要控制的参数还很少,所以用了非常简易的规则:a. 每次发送一个字节,也就是说数据永远是0~255之间的一个数;
b. 没有任何操作的时候,发送50,对应的遥控器放在中点位置,既没有动力,也没有刹车;
c. 51~99 表示加油门,数字越大代表动力越大,对应手在屏幕上向上推;
d. 0~49表示带刹车,数字越小表示刹车越重,对应手在屏幕上向下拉;
e. 100~200 设置最大油门比例,例如滑板收到一个指令150,会把 150-100=50 作为油门推到顶的动力值;
f. 201 ~ 203 灯光设置,分别对应:永远亮、永远灭、根据环境光线调节;
g. 204 开喇叭,205 关喇叭
规则很简单,但是扩展性不是很好,也没有校验,有兴趣的同学请自己修改吧
不错哦~~~ 我又来了~~~~一晃 看你博客好多年了~~~
怎么联系您啊
你好我对这个感兴趣,希望可以跟你联系,放给给我联系方式吗?
大哥,话说2017年了,说好的攻略呢。。。
现在都2017年,什么时候在发一些贴呢。
大神加我qq2267716051 新手向您请教个问题
2018又来了。。。
两年没更新了,动力男孩去哪里了?
2018过半,娃大了可以出来玩了啊!
怎么停更了, 2011年收藏了这个网站,很好看,我也很久没关注这个博客了,
现在大家不怎么看博客了吧,没动力更新了
博主现在不更新博客了,都不知道博主现在研究什么新的玩意!
现在只能带孩子玩一点儿小东西,哈哈
大神有了娃好难再有动力玩自己兴趣了,俺这种跟着一起玩的粉丝也老了,同样膝下有子有心无力,兴趣爱好放两边,责任摆中间。偶尔突发奇想看看曾今的大神神一般的作品,也曾激励自己一起开发创意作品,想想老了自己还有驱赶寂寞,留守孤独的一技之长。
好久不更新了啊,从“解魔方的机器人”开始加入了收藏夹,现在过去快10年了。
老哥,你还在吗?可以和你后沟通一下机器人知识吗?
博主有抖音号吗
嘿嘿,关注好多年了,网站内容非常有趣,无意发现停止更新了,只到2016年; 网站千万别关闭呀
博主还会更新文章吗?好期待
博主可以创抖音号了
2024年,前来膜拜