关于Arduino开发的部分问题总结

      一、  所有代码正常,ESP8266连不上mqtt

        最近几天,博主怀着沉重的心情开始了ESP8266的上网之旅(其实以前也写过,不是十分在意),但是事实总是事与愿违,首先是当头一棒,开始使用的是虚拟端(Mqtt.fx),非常成功一次就连上了,这大大的增加了我的信心,于是开始使用ESP8266连接云平台,这边是头疼的开始。

        我们一开始写了许多东西,发现连不上,于是逐渐简化,直到最后只剩下简单的连接代码,但是结果依旧事与愿违:

于是开始解决问题,查找了几乎所有的关于这个错的解答,不过无济于事,于是开始另辟蹊径,一步一步寻找错的原因,最后定位到return code的值上面来了,我们的返回值是return code = -1,对于返回值可以参考下图:

 对照着这里知道还是不太清楚,于是继续寻找,直到看到了这里解决之道,最后解决完成,报错MQTT Connect err : -1说明MQTT没有连接.解决方法是更改PubSubClient.h文件中的两个宏MQTT_MAX_PACKET_SIZEMQTT_KEEPALIVE,将其该大点,比如改成102460。

二、arduino的串口监视器打不开,板子信息也读不出来

        我们的是串口驱动CH340出了问题,在安装新的驱动之后就可以使用了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如何通过目标追踪功能制作一个手机摄像头实时跟踪小车,该设计运用OpenCV的图像处理APP,手机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轴判断远近(见后文的小车)。 手机实时跟踪寻迹小车设计总结: 这个小车大家可以随意搭建,只要能把你的手机放上去就行。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,也就是所谓的差速驱动了。 最后给出APP和Arduino库,见“相关文件”下载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值