首页-达尔闻    全部    毕业设计| 物联网WIFI远程遥控小车

毕业设计| 物联网WIFI远程遥控小车

如何让玩具车插上远程遥控的翅膀?来自众人默默的项目设计分享,给喜欢DIY或准备做毕设的同学们参考。
收藏
  • 如何让玩具车插上远程遥控的翅膀?来自众人默默的项目设计分享,给喜欢DIY或准备做毕设的同学们参考。小车所有设计资料可在文末下载:

    ✔ 小车功能

    通过上面的视频可以看到,当WIFI连接成功后,可以从遥控器进入控制界面,进行小车的基本功能设置。

    在遥控器的屏幕上,可以看到当前实时检测到的电池电压值。此外通过按钮,可以对小车速度、车灯亮度进行设置。

    通过按钮可以控制小车的前进和后退,小车的转向控制则是通过姿态控制进行的,遥控器左倾表示小车左转,右倾表示小车的右转。

    ✔ 物联网遥控小车硬件构成

    遥控器正面主要有四个按钮,分别控制小车的前进,后退以及遥控器的模式切换,弯脚开关控制总电路通断,四引脚的OLED可以显示当前遥控器的状态。

    背面主要是ESP8266模块,利用ESP8266模块可以实现WIFI连接服务器进行通讯,在ESP8266的底下分别是GY-25倾斜角模块和TP4056充电模块,GY-25倾斜角模块是十分简单的模块,只需要串口通信即可实时接收姿态数据。然后是通用的3.7v锂电池,来为遥控器供电。

    控制器上主要是L298N驱动和ESP8266模块的配合使用,L298N模块的最大优点在于3.7v的锂电池即可实现对电机的控制,减少了对电池的要求,只需四个引脚,即可实现对两个电机的正反转控制。

    ✔ 总体的设计方案

    麻雀虽小,五脏俱全,浓缩才是精华,别看使用的模块才这么点,但却能实现一般遥控车的所有功能。

    遥控器模块处理过程:

    遥控器的任务主要有以下三点:一、接收GY-25发送出来的姿态数值,检测电池电压以及实时检测按键状态,二、根据按键的点击事件来通过OLED显示不同的画面,提示我们当前所处的状态,三、将收集到的数据汇总处理成json格式,发往服务器。

    控制器模块处理过程:

    控制器的处理过程则是,ESP8266实时订阅服务器上的最新json数据并解析成对应的各个变量,判断最新变量是否达到触发事件的条件来决定是否调整当前的车速、车灯亮度,以及电机正反转等等。

    这里简单的介绍下MQTT通讯的基础内容,简单来说就是设备1将一条名为“张三”的数据包发送到服务器中,设备2通过在服务器查找以“张三”命名的数据包来获取最新数据,从而实现设备之间的通讯,这就是简单的订阅和发布的概念,设备1所做的就是发布消息,设备2则是订阅设备1发布的消息,通过服务器作为中介,实现了两个设备的交互,当然发布者也可以是订阅者,我们既可以让控制器订阅遥控器发送的指令,可以让遥控器订阅控制器发布的电池电压信息,并显示在屏幕上。

    要想实现MQTT通讯,首先要连接上MQTT服务器,服务器的连接前期调试建议大家使用然也物联的公共服务器,这是一个公共的MQTT服务器。可以配合MQTT.fx软件来实现简单的MQTT通讯,设置好IP地址和端口后,点击连接,然后在订阅界面订阅hello112452022此主题,再返回发布界面向hello112452022主题发布消息,看此时订阅到了刚刚发送的消息了,后期可以安装emqx服务器在自己的电脑上配置本地服务器,也是不错的选择,想要了解EMQX本地服务器的安装,大家可以去EMQX的官网自行查看。

    接下来就是如何进行数据处理了,为了减少ESP8266的开销,使用了Json格式来对数据进行打包发送。Json格式打包数据性价比非常高,我们仅仅需要简单的一行字符串即可实现数据的打包发送。然后配合ArduinoJson库,我们可以对接收到的Json数据进行解析,实现设备之间的信息传输。具体的处理逻辑大家可以看整理好的代码等其他资料。

    小车制作在毕设中经常出现,此项目可以作为参考,还可以增加更多的功能,以保证工作量的饱和。

    代码获取方式:在“达尔闻说”微信回复:物联网遥控小车

Control Render Error!ControlType:productSlideBind,StyleName:Style1,ColorName:Item0,Message:InitError, ControlType:productSlideBind Error:未将对象引用设置到对象的实例。