dmxcsnsbh 发表于 2015-2-18 23:49:45

Cubieboard 智能小车 2.0 版

本帖最后由 dmxcsnsbh 于 2015-5-26 21:20 编辑

各位伙伴们新年快乐,很少在论坛里发帖,早就答应了师兄要把完成 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 在新的一年里越来越好~~

dmxcsnsbh 发表于 2015-2-18 23:55:24

自己占楼

八月八九月九 发表于 2015-2-19 17:01:55

好…………{:soso_e142:}{:soso_e142:}{:soso_e142:}

wencan 发表于 2015-2-19 18:29:32

大过年的
帮顶

gcd0318 发表于 2015-2-20 01:23:06

arduno应该可以省略掉,直接用cubie的gpio,我用树莓派做过,cubie的针更多,应该足够了

taff 发表于 2015-2-20 09:56:09

不错不错,过年还在折腾

@allen 发表于 2015-2-20 11:41:41

谢谢分享

dmxcsnsbh 发表于 2015-2-20 23:47:28

gcd0318 发表于 2015-2-20 01:23 static/image/common/back.gif
arduno应该可以省略掉,直接用cubie的gpio,我用树莓派做过,cubie的针更多,应该足够了 ...

嗯 是啊 不过那时候是 Arduino 的作业 必须用上哈

leyiwo 发表于 2015-2-25 13:22:24

不错、、51单片机+openwrt做过

@allen 发表于 2015-2-26 10:04:27

本帖最后由 @allen 于 2015-2-26 10:12 编辑

其实应该可以不用arduino ,直接用cubieboard的GPIO控制L298N ,PWM控制云台的。我以前干过,不过用arduino会很方便
页: [1] 2
查看完整版本: Cubieboard 智能小车 2.0 版