一个废旧的 Android 手机能拿来干什么有趣的事?
答:不如做成机器人?
- 继初代蛋黄和2.0版的Nano之后,蛋黄迎来3.0版更新啦。
- 这次基于Android平台制作,融入了视觉、语音、3D、物联网等元素,蛋黄更好玩更实用了~
- 3.0版蛋黄代号为小氪,小氪源于英文名Clover,Clever+Love表明小氪聪明又可爱,同时Clover意为三叶草,指代第三个版本更新。小氪的构思和制作从6月份开始,断断续续一直到前段时间大概实现了基本的功能,由于精力原因没有加入自平衡效果,所以以后还会有很多改进的。
为什么会想到做用手机来做小氪呢?首先我们来思考一下,难道没有人觉得智能手机是近乎完美的机器人开发平台吗?
仔细想想,现在的Android手机具备用作机器人开发平台的几乎一切要素:
- 高性能低功耗的嵌入式处理器
- 丰富的传感器(陀螺仪、加速度计、光线传感器、红外传感器、麦克风…)
- 易于扩展的接口(USB-Host、蓝牙、WiFi)
- 方便的调试工具链(ADB、USB、高清大屏)
- 基于Linux的Android开源系统
- …
更何况,Android的字面意思,就是“机器人”啊!!!
众所周知,智能手机其实就是一台微型电脑系统,得益于移动互联网玩了命似的快速发展,智能手机的更新迭代速度可谓是一骑绝尘。有市场的地方就有技术突破,这些年移动Soc的升级速度也是紧跟着坐上了快车,如今2019年旗舰的Soc(以高通骁龙855为例)最高主频已经达到了2.84GHz这样恐怖的数字。更何况还有CPU架构的巨大改进以及GPU、NPU、DSP等各种异构能力加成,对于嵌入式硬件来说,实在是非常合适的开发平台。
如上面所分析,Android智能手机作为机器人开发平台的潜力无限,只是有一个缺点:
手机它不会动啊。
是的,作为资深极客,面对这样的问题自然是要脑洞大开,首先让我们来给它设计一个“身体”↓
由Rhinocores软件建模
模型使用3D打印制作出来。然后我们需要设计机电模块,来控制Android手机机器人底座的电机,实现自由运动。这里我自己绘制了一块PCB电路板,通过USB接口或者蓝牙与手机通信↓
底座的主控电路板
然后Android手机我用的是一台闲置的Moto RAZR M,系统是Android 5.0,当年超窄边框非常经典的机型~
组合到一起,就是这个效果↓
ok,剩下的工作,就是在Android上进行APP开发,充分利用各种传感器和网络功能,以及手机的强大运算能力,来实现我要的效果。最终实现的效果如下↓
这其中技术细节太多,就不一一讲解了,感兴趣的可以参考下面的技术路线导图↓
结束语
小氪这个项目是我在16年的时候在学校突发奇想做的一个小项目,基本上用到的很多技术也是现学现用,所以不算非常完美,还有很多可优化的空间;另一个角度上来说,也正是因为做这个项目让我涨了非常多额外的技能点,比如三维建模、Unity开发、Android Native开发等等…
所以我认为的极客精神就是:在脑洞和折腾中不断提升自我,有趣至上~
个人以后还会经常尝试做一些有趣的东西,如果大家不嫌弃的话也可以关注一下我的知乎(稚晖),有什么好的想法也可以跟我说~不定期更新项目