极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 39682|回复: 19

【“迹”app】OpenCV和Arduino结合, 让手机变成小车的眼睛

[复制链接]
发表于 2016-5-7 22:41:00 | 显示全部楼层 |阅读模式
本帖最后由 pz_cloud 于 2016-10-8 13:44 编辑

5.17更新  取消对opencv maneger的依赖,只需要安装迹一个软件就可以了



“迹” for Android
“迹”是一个基于OpenCV的图像处理APP,它可以让手机通过摄像头实时跟踪设定的颜色目标,并且通过手机蓝牙将目标坐标位置和大小等信息输出,配合蓝牙串口模块和我写的配套Arduino数据接收库,可以实现很多有趣的功能~ 这篇文章主要讲解一下“迹”的使用方法,以及如何通过目标追踪功能制作一个简单的小车。

APP软件运行界面:


安装方法:
1.直接安装Trace.apk,Android5.0以上系统需要到设置里赋予应用相机和蓝牙权限
2.在豌豆荚搜索“迹”安装,同上


使用方法:
1.进软件之后可以点击连接蓝牙,选择你的蓝牙模块(模块需要事先在手机系统蓝牙设置里面配对好),连接上之后如果有目标信息就会通过蓝牙发送到模块上,Arduino进行读取就可以了。
2.点击左上角的按钮进入预览画面,此时在预览窗口中点击任何一个你想追踪的物体,就会自动进行处理输出数据了,顶栏会显示你选中的颜色。
3.这里说明一下,跟踪原理是以颜色为特征的,所以应该尽量避免视野中出现颜色相同的物体,同时如果发现跟踪物体的周围出现大量小块的目标块,可以适当调大屏幕下方的进度条,直到杂块消失只剩一个目标。

说明一下屏幕下方各个控件的含义:
1.左边的按钮是切换手机前后镜头的(现在应该没有不带前置镜头的手机了吧…)
2.进度条用于调节图像处理阈值,这个值用于色块过滤,可以理解为,用于设置最小的目标块的限制,也就是当目标小于一定程度就过滤掉。
3.T、X、Y三个参数是目标的信息,XY是坐标大家都知道(坐标的最大值跟手机镜头分辨率有关);T是目标的大小信息,如果检测到多个目标或者没有检测到任何目标这里会显示E(error)。T可以用于粗略得判断物体的远近(近大远小),不过更推荐的方式是用Y轴判断远近(见后文的小车)。

演示视频:


一个应用Demo:跟踪小车Tmp
利用迹得到的数据,我们就可以做个跟踪目标的小机器人了~
APP完成之后临时搭了个简陋的小车用来测试效果

是不是看着就像临时工


这个小车大家可以随意搭建,只要能把你的手机放上去就行。Tmp上我用了两个舵机改造成轮子,把180度的舵机改成可以连续旋转的360舵机,这样就省下了电机驱动以及麻烦的减速箱,而且只用一根信号线就可以控制电机的正反转和速度,这部分要是大家感兴趣可以上网搜搜相关改造教程。
然后我们需要把小车和手机联系起来,通过蓝牙模块:


需要使用从机模块,最好把波特率设置为115200,连线如下:
蓝牙模块 Arduino
Tx -> Rx
Vcc -> 5V
Gnd -> Gnd
1.注意蓝牙的Rx是不接Arduino的,因为Arduino只需要接收APP的数据而不需要发送,这样的话留出的Tx就可以通过Serial.Print()打印到电脑端的串口助手。
2.当然,考虑到一般Arduino都只有一个硬件串口,这样串口被蓝牙模块占用了之后每次下载都需要拔下蓝牙以避免数据串扰,解决办法是换用软串口或者换用Mega等不止一个串口的板子。
3.软件部分,提供已经封装好的Arduino库,放到library文件夹后打开示例就会用了


需要自己完成的部分就是,把获取到的x,y坐标转换为小车电机的速度,思路是这样的:
1.假设我们希望目标始终在屏幕中间,那么当y坐标大于屏幕y最大值的一半时让车有一个往前的基础速度V,反 之则是向后的基础速度-V;
2.如果x坐标大于屏幕x最大值的一半,那么让车子有一个旋转速度Vt,反之有个旋转速度-Vt;
最后赋值给小车的速度是:左轮 = V+Vt,右轮 = V-Vt,也就是所谓的差速驱动了。
3.最后给出APP和Arduino库的下载:

APP去豌豆荚搜索 迹 下载

祝大家玩得开心,做出了什么好玩的项目也可以发出来给大家参考一下~
也欢迎关注我的网站www.pengzhihui.xyz

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-5-9 00:32:01 | 显示全部楼层
握草,这是要秒杀pixy cmucam5的节奏呀,谢谢楼主的分享
回复 支持 反对

使用道具 举报

发表于 2016-5-9 01:14:03 | 显示全部楼层
我的小米4好像不能用这个软件,已经安装了OpenCV_3.1.0_Manager_3.10_armeabi-v7a
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-9 10:03:17 | 显示全部楼层
努力微笑 发表于 2016-5-9 01:14
我的小米4好像不能用这个软件,已经安装了OpenCV_3.1.0_Manager_3.10_armeabi-v7a

什么系统的?需要给相机权限并打开蓝牙,软件怎么提示的?
回复 支持 反对

使用道具 举报

发表于 2016-5-9 10:23:52 | 显示全部楼层
楼主给力,大发!!
回复 支持 反对

使用道具 举报

发表于 2016-5-9 12:35:28 | 显示全部楼层
前两天在机器人微信群里看到了分享,很厉害,其实闲置的安卓手机可以用来做的事情还是蛮多的!
回复 支持 反对

使用道具 举报

发表于 2016-5-9 18:37:07 | 显示全部楼层
file:///C:/Users/Administrator/Desktop/Screenshot_2016-05-09-01-04-27_xyz.pengzhihui.col.png
回复 支持 反对

使用道具 举报

发表于 2016-5-9 18:37:41 | 显示全部楼层
上传不了图片....
回复 支持 反对

使用道具 举报

发表于 2016-5-9 18:39:31 | 显示全部楼层
就是这个........

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-9 19:23:19 | 显示全部楼层
努力微笑 发表于 2016-5-9 18:39
就是这个........

去手机设置-应用里面选迹,权限里面给相机选中就好了
回复 支持 反对

使用道具 举报

发表于 2016-5-9 22:26:03 | 显示全部楼层
3Q可以用了,好开心
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 11:32:11 | 显示全部楼层
    不客气
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-17 14:08:36 | 显示全部楼层
   APP更新
回复 支持 反对

使用道具 举报

发表于 2016-5-17 16:14:12 | 显示全部楼层
强,直接上手机,那能完成的事情就很多了,,,,支持@
回复 支持 反对

使用道具 举报

发表于 2016-9-12 14:39:53 | 显示全部楼层
你好,很喜欢的的作品,能看看你的 迹 程序什么的  吗,你的百度云分享失效了,虚心学习,谢谢,[email protected]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 18:41 , Processed in 0.049024 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表