01项目简介
本项目旨在基于启明6M5开发板设计一个无线环境监测小车系统,用于监测实验室环境,用户能够通过蓝牙对小车进行控制,并通过onenet云平台进行查看当前环境数据以及历史数据,具体实现功能如下:
利用启明6M5开发板完成对温湿度DHT11的温湿度读取。
利用启明6M5开发板完成对板载esp8266与onenet云平台的数据传输。
利用启明6M5开发板完成对麦克拉姆轮小车的控制以及蓝牙控制。
完成onenet云平台的mqtt协议接入。并可视化显示进行部署,实时显示小车温湿度数据。
02项目系统组成
2.1 整个系统框图:
2.2 硬件介绍 :
2.2.1 启明6M5开发板
采用 Arm Cortex-M33 内核的瑞萨 RA 系列 32 位 MCU;
主芯片为的R7FA6M5BH3CFC,主高达200MHz,2MB的代码闪存,8KB数据闪存,以及512KB的带奇偶校验/ECC的SRAM;
LQFP封装,IO口128个,底板引出未使用的IO口47个。
板子实物图如下:
本次项目中使用到了外设如下:
GPT2、GPT4、GPT6、GPT8通过四路PWM输出来控制麦克拉姆轮的四个轮子的使能端;
SCI4、SCI9用于蓝牙通讯和板载esp8266的通信;
P400用于LED指示程序运行;
小车GPIO以及GPT绑定的引脚使用
麦克拉姆轮运动可以参考:https://blog.csdn.net/weixin_42108484/article/details/122090548
2.2.2 l298n
2.2.3 DHT11模块
DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,内部由一个 8 位单片机控制一个电阻式感湿元件和一个 NTC 测温元件。DHT11 虽然也是采用单总线协议,但是该协议与 DS18B20 的单总线协议稍微有些不同之处。
相比于 DS18B20 只能测量温度,DHT11 既能检测温度又能检测湿度,不过 DHT11 的精度和测量范围都要低于 DS18B20,其温度测量范围为 0~50℃,误差在±2℃;湿度的测量范围为 20%~90%RH(Relative Humidity 相对湿度—指空气中水汽压与饱和水汽压的百分比),误差在±5%RH。DHT11 电路很简单,只需要将 DATA 引脚连接单片机的一个 I/O 即可,不过该引脚需要上拉一个 5K 的电阻,DHT11 的供电电压为 3~5.5V。
6M5接线DHT11
2.3 项目配置2.3.1 RA smart 配置如下:
2.3.2 onenet配置
03项目系统实现
(1)PWM产生
小车需要四路PWM信号,来控制L298N的使能端,来控制电机转速。PWM的频率配置成20Khz是默认电机的频率,然后通过控制占空比来达到控制电机转速
(2)串口收发
(本作者将stm32的sendstring函数进行一直,实现发送任意长度字符串)
①蓝牙串口:该串口核心就是接收蓝牙发送的数据,产生接收中断后对其接收到的字符进行判断。②onenet串口:该串口在蓝牙串口基础上增加发送字符串函数,由于开始时候为了方便测试。默认printf给蓝牙串口,也就是本机串口使用,所以自行编写串口发送,两者不要同时调用会有bug,虽然配置了优先级。
(3)DHT11读取温湿度
DHT11就是单总线读取,读取后通过格式化字符串写入。
(4)esp8266连接onenet
连接onenet主要是通过多协议接入的方法,通过mqtt协议对数据进行传输,然后通过onenet平台的可视化进行对数据显示。注:项目源码可点击文末阅读原文获取
04项目成果展示
(1)开始时候是使用灯来看四路PWM是否输出,以及对应IN1和IN2是否输出。(确认无误后将其和电机对应使能和IN脚相接)
(2)onenet实时显示温湿度数据
(3)蓝牙助手界面
(4)整体实物
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !