各位伙伴们新年快乐,很少在论坛里发帖,早就答应了师兄要把完成 Cubieboard 小车的文档发出来和大家共享,怎知自己的拖延症已经严重到一种境界了。。想想事情总不该拖到明年,所以选择在这个时间发出来。没什么技术含量,和社区里的大牛比起来差得远了,只希望能够帮助那些和我一样的菜鸟,见笑了。
首先得感谢 Windland 师兄的帮助,几乎全程都是在他的指点下完成的,在这里我将完成小车的全过程分享出来,也算是弥补师兄的遗憾吧(他的那张 SD 卡烧毁了,所有代码以及环境都没了,所以就没能把更详细的过程放上来)
废话不多说,直接开始介绍我的制作过程吧~
必需的配件:
- 小车底盘 ¥67
- L298N 驱动模块 ¥60
- 7.2V 电池组(给 L298N 供电) ¥18
- 杜邦线 ¥4
- 移动电源 ¥60
- 无线网卡 ¥28
- Arduino ¥60(其实是老师发的)
- Cubieboard ¥345
额外的配件:
- 迷你音响(用于扩大声音,注意大小和可充电,USB 口紧张) ¥30
- 摄像头(带 MIC 可录音) ¥20
- 云台 ¥6.50+10 运费 = ¥26.5
- 舵机 ¥8 * 3= ¥24
Cubieboard 智能小车实现的功能:
- 通过网页或是 iPhone App (自己制作完成的) 控制小车
- 小车能够快速前进、快速后退、慢速前进、慢速后退、向左转弯、向右转弯、停止
- 能够播放在网页端输入的文字
- 能够录音,并可以控制录音时长
- 网页端实时摄像头视频输出
- 能够调整摄像头角度,上、下、左、右
Cubieboard 的职责:
- 启动 mjpg-streamer 服务,控制摄像头
- 使用 espeak 播放语音
- 开启若干个端口与 Web 控制台通信
- 数据处理后通过串口与 Arduino 通信
L298N 的职责:
- 控制四台发动机
- 给 Arduino 供电
Arduino 的职责:
- 控制 L289N
- 控制摄像头云台转动
这次我的小车是购买了专用的底板,配合电机驱动板驱动。小车底板和拆卸玩具车相比有更大的空间来安放需要的配件,例如移动电源,音响等,可扩展性更强;缺点是发热量大,价格更高一些,需要自行编写代码驱动电机(不过这不算什么难事啦)
- cubieboard(1或2都无所谓)装上Linux系统,接上usb无线网卡,配置接入wifi.
- 通过(双方的串口)针脚,将arduino和cubieboard连接起来,串口通信。目标:cubieboard向arduino发送一个字符,arduino收到字符后控制一个led亮起来(或是其他,what ever,反正以后就是控制小车电机)
- 在cubieboard上搭建一个web站,或图形界面的程序,或一个没有界面的socket程序。总之,你需要通过它告诉cubieboard你想向小车发出怎样的指令。目标:你能看到cubieboard给你一个helloworld,你也能发给它一个helloworld,即人机通信了。
- 网站后台代码(or 其他上述代码)中调用库或系统命令来向cubieboard的串口写数据,数据就会发送到arduino上。目标:你给cubieboard发helloworld时,cubieboard给arduino发helloworld,arduino的led亮起。
- 购买一个usb摄像头,再linux上安装motion或mjpg-streamer,并启动起来。安装和配置方法可以百度。目标:通过浏览器访问能够看到图像.
- arduino阵脚和 驱动板或遥控车电路相连(根据你用驱动板还是改遥控车而对应),通过驱动板控制电机和遥控车芯片的电路图是可以百度到的,目标:通过代码控制针脚输出的电平从而使电机得到正转、反转、转向的信号,从而能够转起来。
合并以上所有,最后要考虑的就是如何把这些放在一个小车上。
你需要准备螺丝刀,电骡铁,松香,锡
以上是师兄帮助我分解的步骤,我稍微调整了一下顺序,接下来我就按照这个步骤一步步来分享我的过程……
由于论坛的文本编辑器不支持 Markdown 也不支持 HTML 再加上字数限制我无法把所有的内容都直接放出来,所以这里先放一个预览版,剩下的内容麻烦大家下载 PDF 阅读
见附件、
另外,我将所有的代码、细节图以及拍摄的视频等等所有的资料都上传到了百度网盘,有视频版和无视频版只是有无视频的差别,其他内容完全相同,大家可以根据需求自行下载
无视频版 链接: http://pan.baidu.com/s/1hqBwbeG 密码: xwbb
有视频版 链接: http://pan.baidu.com/s/1i348yxv 密码: j1dv
最后附上几张完成图
也希望各位大牛多多指教,分享自己的技术,祝愿 cubie 在新的一年里越来越好~~
Cubieboard_智能小车_2.0_版.pdf (1.69 MB, 下载次数: 26)