# 【野火】第二期瑞萨RA MCU创意氛围赛：自适应蓝牙控制智能小车

# 概述

当下是一个智能化的时代，万物互联是时代的需要。基于这样的需要应运而生了许多新的技术，以支持这样的需求。在一些比较特殊的领域，单靠人力解决这些问题的成本是很高的，例如：狭窄的甬道、微小的洞穴、火灾现场、甚至是战场。这时如果使用智能机器人进行环境探测或者现场勘探，付出的代价成本会小很多。如今出现了无人机，无人小车，无人舰艇等等。这些设备的诞生都是为了解决特殊领域的需求。

本系统是一款硬件上基于野火Renesas R7FA8D1BH (Cortex®-M85)开发板，设计的一款智能控制小车。其可实现采集现场环境的温度、湿度、光照强度，同时使用超声波雷达扫描环境的参数，以了解特殊环境的地形特性，并通过蓝牙实时的发送给微信小程序App，以实现对小车运行轨迹的控制。



# 1 系统框架结构

![1728285924433](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728285924433.png)

**本系统分为2个部分，其分别为：**

1）下位机智能小车控制系统；

2）微信小程序App

**该系统的主要功能如下：**

1）使用Renesas R7FA8D1BH (Cortex®-M85)开发板作为主控板卡，该板块实时读取温湿度传感器，光照传感器的数据。同时通过超声波测距模块扫描环境参数。

2）控制OLED显示器，对读取的温度、湿度、光照、测距数据进行处理，将这些数据实时的显示在OLED屏幕上。

3）控制蓝牙模块，实时接收蓝牙模块接收到的从微信小程序发送的。

4）发送命令给小车运行控制模块，实现小车运行轨迹的控制。

5）实时接收和处理微信小程序App发送的控制命令，同时将这些命令转发给小车运行控制模块，实现小车的控制

6）实时上传温度、湿度、光照、测距数据给微信小程序App

# 2 系统硬件介绍

## 2.1 电机驱动控制结构

系统使用4路独立的PWM控制两组电机，用于控制小车的运行方向，其控制方法如下：

![1728273351907](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728273351907.png)

传动系统的实物结构图：

![1728274035795](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728274035795.png)



### 2.1.1 PWM控制小车接口介绍

**左侧车轮控制：**
1) 使用GPT1生成PWM控制P105接口
2) 使用GPT2生成PWM控制P102接口

**右侧车轮控制**
1) 使用GPT6生成PWM控制PA11接口
2) 使用GPT4生成PWM控制P804接口

### 2.1.2 小车运行方向控制原理

![1728295207924](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728295207924.png)

**1）前进功能：** 

P105：输出PWM

P102：停止输出PWM

PA11：输出PWM

P804：停止输出PWM

 

**2）后退功能** 

P105：停止输出PWM

P102：输出PWM

PA11：停止输出PWM

P804：输出PWM



 **3）左转功能** 

P105：停止输出PWM

P102：输出PWM

PA11：输出PWM

P804：停止输出PWM



 **4）右转功能** 

P105：输出PWM

P102：停止输出PWM

PA11：停止输出PWM

P804：输出PWM



## 2.2 外围传感器接口

### 2.2.1 I2C接口设备

I2C接口挂载设备：

1）SHT20: 测试环境的温度和湿度

2）ISL29035：检测小车周围的光照强度

3）OLED：显示器，用以显示实时的数据，包括温度、湿度、光照强度，MCU内部的参数等

### 2.2.2 IO接口

1）IO接口1： DS18B20接口

2）INPUT IO： 按键接口，用于实现UI切换功能

### 2.2.3 UART接口

UART: 蓝牙模块接口，用于和蓝牙模块进行数据交互

### 2.2.4  其他接口

模拟信号接口： 探测外围模拟器件信号数据

MCU内部模块： 

1) 温度传感器： 监控MCU内部温度数据

2）RTC： 系统工作的实时时钟数据

![1728273276129](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728273276129.png)



传感器系统实物结构图：

![1728274084917](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728274084917.png)

## 2.3 障碍物监测接口

输出端口：P7_10用于触发HC_SR04的测速功能

输入端口：P7_09接收信号脉冲，用于计算距离数据

![1728275021051](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728275021051.png)

硬件实物图：

![1728277322606](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728277322606.png)

## 2.4 测速模块接口

系统使用两路光电编码器分别用于测试两组电机的转动速度，以使用PID速度控制，其硬件接口图如下：

![1728277433949](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728277433949.png)

# 3 系统软件架构

系统软件分为三层：其具体功能模块如下

![1728277619794](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728277619794.png)

## 3.1 MCU驱动层

![1728278390386](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728278390386.png)

1）SCI-I2C接口： 主要实现MCU I2C接口的驱动层，该层代码通过FSP软件进行配置

2）SCI-UART接口： 主要实现MCU UART接口的驱动层，该层代码通过FSP软件进行配置

3)  TIMER接口： 主要实现MCU Timer接口的驱动层，该层代码通过FSP软件进行配置

4 ）ADC接口： 主要实现MCU ADC接口的驱动层，该层代码通过FSP软件进行配置

5)   RTC接口： 主要实现MCU RTC接口的驱动层，该模块为系统提供实时时钟功能，该层代码通过FSP软件进行配置

## 3.2 设备驱动层

系统的设备层驱动主要有如下这些模块：

1）oled_drv: OLED驱动程序

2）ds18b20_drv: DS18B20驱动程序

3）key: 按键驱动程序，主要用于UI的页面切换功能

4）bluetooth: 蓝牙模块驱动程序

5）ISL29035_drv: ISL29035驱动程序，用于监测环境光照数据

6）SHT20_drv: SHT20驱动程序，用于监测实施的温湿度数据

7）hc_sr04_drv： 超声波模块驱动程序，用于测试障碍物的距离

8）motor_speed: 电机速度控制驱动程序

![1728279003447](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728279003447.png)

## 3.3 应用层程序

1）app_ui模块： UI页面模块，用于定义每个页面显示数据的内容

2）app_state模块： 状态机控制，用于实现UI切换

3）app_main模块：主功能实现，包括传感器数据获取，数据处理

4）app_bluetooth:  蓝牙模块数据处理模块

5）app_motor: 小车运行控制

6）app_motoPID: 小车运行的PID控制模块

![1728279652746](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728279652746.png)

## 3.4 微信小程序程序设计

**小程序的UI分为三个部分：**
1） 传感器数据显示模块

2）工作模式配置模块：

自动模式： 通过超声波测距模块判断运行状态

手动模式：通过微信App控制小车的运行状态

3）小车方向控制模块：通过5个按钮控制小车的运行轨迹

![1728280515647](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728280515647.png)

## 3.5 OLED UI定义

**第一组UI定义**

![1728286317257](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728286317257.png)

**第二组UI定义**

![1728286433199](%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3.assets/1728286433199.png)

# 4 系统测试

## 4.1 传感器UI数据测试视频

 [【野火】第二期瑞萨RA MCU创意氛围赛：自适应蓝牙控制智能小车-01_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1do1yYrEEc/?spm_id_from=333.999.0.0&vd_source=238f39a6104fe1d95e2bb023d20e044f) 

## 4.2 运动控制视频

 [【野火】第二期瑞萨RA MCU创意氛围赛：自适应蓝牙控制智能小车-02_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1dc1mY2EbP/?spm_id_from=333.999.0.0) 

 [【野火】第二期瑞萨RA MCU创意氛围赛：自适应蓝牙控制智能小车-03_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1gh12YME8B/?spm_id_from=333.999.0.0&vd_source=238f39a6104fe1d95e2bb023d20e044f) 

