Arduino自平衡小车-跟踪小车-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7142|回复: 2

Arduino自平衡小车-跟踪小车

[复制链接]
发表于 2017-12-21 12:13 | 显示全部楼层 |阅读模式
       之前我们对于Arduino自平衡小车有了一些简单的基础介绍之后呢,我们今天就来进行一下简单的进阶的功能介绍啦。之前有看过社区的其他作者制作的跟踪小车,由此我就产生了一个自动跟随的平衡小车的制作念头,接下来为大家简单的介绍一下。
1.关于摄像头,这里利用的是手机摄像头与平衡小车进行一个简单的蓝牙通信来引导小车跟踪物体的移动
        一般来说,要实现一些复杂的物体识别,比如巡线中复杂赛道的判断和目标物体的跟踪等,我们都会需要用上摄像头,通过图像处理的方式获取目标信息。但是由于Arduino芯片处理视频的能力较弱,我们采用手机APP进行图像的二值化的处理工作。然后进行图像的选择工作,在设置的过程中一般会采用手机App进行一个基础收据的选择工作。这里我们用到了社区的一位大神自己写的App “迹”在应用商店中都会有的。关于“迹”一个基于OpenCV的图像处理APP,它可以让手机通过摄像头实时跟踪设定的颜色目标,并且通过手机蓝牙将目标坐标位置和大小等信息输出,配合蓝牙串口模块和我写的配套Arduino数据接收库,就可以实现很多有趣的功能。
    关于手机APP可以到豌豆荚进行下载安装,同时在安装的过程中最好给予最高的权限,这样也比较多方便。
捕获.PNG
这个就是手机App的一个界面的使用,在使用中用到的东西也是比较多的,比如切换前后的镜头、目标物的大小、目标的坐标等等。都是需要进行选择的
在进入之后那,还会叫你选择一个蓝牙的设备,这个时候那我们就要选择,平衡车的蓝牙端口了。这样平衡车就有了一个可以随意跟随目标的眼睛了。
#include <TraceApp.h>

TraceApp obj(Serial, 115200);  //实例化检测对象


void setup()

{

  obj.begin();      //初始化,注意:后面不需要再用Serial.begin()!

}


void loop()

{

  obj.routine();    //尽可能让这一句频繁运行


  if (obj.valid())  //检测的物体是否有效

  {

    Serial.print("Objdetected at:");

    Serial.print(obj.getX());  //x坐标

   Serial.print(",");

   Serial.print(obj.getY());  //y坐标

    Serial.print("  with size of:");

   Serial.println(obj.getT()); //物体大小

  }

  else

    Serial.println("Noobj or too many detected");


  delay(100);

}
捕1获.PNG
这里就是选择的物品,之后你需要的就是将你的手机固定到平衡车上就可以了。

发表于 2018-3-22 19:48 | 显示全部楼层
这个思路挺好
发表于 2020-3-26 09:44 | 显示全部楼层
你好,我看了跟踪小车那个文章,但是我去测试发现TraceApp.h:no such file or directory,没有这个库文件,请问你这有么,请大神指导
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 01:49 , Processed in 0.138927 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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