ESP32CAM物联网教学03

ESP32CAM物联网教学03

物联网小车

小智突发奇想:要是我在点灯物联APP中多增加几个按钮,控制小车的行驶方向,不就可以做成遥控小车了吗?

  • 点灯物联控制小车的行驶方向

我们可以重新编辑点灯物联APP中的设备控件界面,如图所示,在界面中增加五个按钮,分别控制着小车的前进、左转、停止、右转、后退,这样是不是能变成遥控小车呢?

(五个方向按钮的键名分别命名为:btn-ff、btn-ll、btn-ss、btn-rr、btn-bb,这些键名在后面的米思齐编程中需要逐一用到; 按钮的类型为按键按钮)

  • 拼装物联网遥控小车

遥控小车可以选购现成的小车底座。

当然也可以选用乐高积木,然后自己根据想象进行自由的拼装。下面这些是拼装小车所必须的零部件,可以一一从网上购买(购买这些大约需要100元左右,比起购买现成的小车底座要贵了不少,但是这种自由拼装的方式,可操作性强一些,而且特别适合小孩自己玩)

    经过一番折腾,你就能创造出专属于自己的一辆小车了,这两小车也是全网唯一的一辆,拼装完成后,成就感爆棚。特别是到了我们课程的最后,我们会不断地给这两小车增加一些功能,相信这是你拥有的最靓的、最智能的一辆小车了。

  • 小车的电路连接

首先,我们通过查阅淘宝上面的商品介绍信息,可以了解到L298n电机驱动板的引脚配置信息,可以看出这块点击驱动板可以同时驱动A、B两个电机,由四个逻辑端口进行驱动。ESP32Cam左侧的端口本来是用于TF存储卡的,因为我们没有用到TF存储卡,所以这几个端口是可以用来作为输入或输出端口使用的。

    我们利用杜邦线对小车的各个设备进行连接,接线图如下,2节1860电池差不多可以提供8—9V的电源电压,直接接入L298n,给驱动板和电机供电;这块驱动板自带5V调压芯片,可以输出5V的电源给ESP32Cam使用;ESP32Cam的12、13、15、14这四个端口,分别连接点击驱动板的逻辑控制端口。

  • 编写ESP32Cam的小车控制程序

ESP32Cam的控制程序还是用米思齐的积木块编写。

我们在前面的点灯程序基础上,复制了五个按键积木组合,每一个按键积木的组件名称和对应的键名各不相同:组件名称分别用Button1——Button5一一区分。所对应的键名,和前面的手机APP中命名的一致,btn-ff表示小车前进forward;btn-bb表示小车后退back;btn-ss表示小车停止stop;btn-ll表示小车左转left;btn-rr表示小车右转right。

左右两个电机分别由两组逻辑端口控制,左边的电机由ESP32Cam的12、13号端口控制,右边的电机由ESP32Cam的15、14号端口控制。

L298n采用的是H桥放大的工作原理,当12号端口为高,13号端口为低时,对应的左边电机的两个输出端口,一个为高电平,一个为低电平,两个端口的不同电势差,在电机内部形成了正向电流,电机正向转动,小车就前进了。相反,当12号端口为低,13号端口为高时,两个端口的不同电势差正好相反,在电机内部形成了反向电流,电机反向转动,小车就后退了。当12号和13号端口同时为低时(或同时为高),对应的两个端口则同时为低电平(或同时为高电平),两个端口之间没有电势差,电流也无法流过电机内部,电机停止转动,小车就停止了。

根据电机驱动原理,我们简化了按键组件的驱动程序,当用户在手机APP中按动不同方向按键使,让ESP32Cam控制着左右电机的转动方向,让小车动起来。当左右两个电机同时正向转动是,小车就前进;同时反向转动时,小车就倒退;左边正转右边反转时,就是右转;左边反转右边正转时,就是左转了。

温馨提醒:

因为这个电机的转速还是挺高的,所以我们选用点触驱动的方法,即当用户按动一次前进按钮时,我们让电机转动了1秒就停下来,如果需要继续前进,则需要继续按一次按动前进按钮。

因为电机的速度挺高的,如果不是采用这种点触控制,而是采用连续控制的话(比如按动前进按钮,小车就一直前进,在接收到用户的下一个操作命令之前,一直处于前进的状态),这样小车会处于失控的状态的,遥控的效果不好。当然,如果电机的速度慢,则可以使用连续控制了。

在上一期的免费项目:高性价比WIFI图传方案快速入门教程的介绍中,详细地介绍了ESP32-CAM模块的简单使用 ,其裁剪了官方图传和人脸识别的代码改造成简单的图传代码,由官方四个文件的代码缩减成一个文件的代码。目的就是让买家能快速上手这个源码。让这个源码复杂度降低很多,利于阅读和学习。 在这一期的免费项目:修改了上一期的项目的源码,实现嵌入式web server功能实现远程浏览器WIFI点灯的操作(PIN4的IO口集成了闪光灯LED,所以不用外接灯了,亮瞎眼的亮度),实现了将服务器嵌入到单片机,单片机wifi联网之后,局域网访问单片机主页(通过串口打印的网址)就可以在网页里面控制开发板的灯,该设计是ESP32-CAM物联网应用的一个巨大的尝试,本人浪费生命值写了两天代码,踩了很多坑,也学到很多,写了一共三个版本的代码,此版本的代码是最便宜的一个版本,呵呵,不会接线和操作的看上期的项目即可,这里不再重复说明了,重要的事情说一遍:我有收费版的代码,服务更周到。 下面请看模块运行效果图: 下面是实物图: 模块的原理图: 电脑接上串口CH340,CH340接上ESP32-CAM之后,打开串口调试助手,调试效果如下: 服务器返回消息: 真源码截图(绝对给力): 项目总结:这次是利用ESP32-CAM模块对物联网应用的一次巨大的尝试,在电路城目前好像还没有相关的教程,在B站虽然有类似的项目,但是根本没有源码,也没有教程,而且功能没有我这个那么强大,因为我这个嵌入式服务器是有反馈的,而且支持网页手动输入指令,开灯或者关灯指令发送之后服务器会给客户端一个响应的,代码都是自己手工完成的,也借鉴过很多相关的项目。只要掌握这个嵌入式服务器远程点灯的项目,那么其他类似的设计就可以举一反三了。需要注意的是这个版本的代码是没有任何注释的,代码冗余度也很大,收费版的代码更加精简和加入详细注释(最关键)和调试代码。如下所示: 后期的的项目会涉及到图像处理(颜色识别,人脸检测,人脸识别,颜色跟踪,智能小车,手机app客户端控制,云平台语音识别,云平台图像识别等等,私有云图像处理,私有云监控搭建)全部原创开源,敬请期待。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tongyue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值