基于stm32cubeMX的的HAL库开发的智能小车------蓝牙小车

我的第一辆智能小车


提示:小编也是初学者,本文适用于想完成一个基础智能四轮车的初学者,大佬还请勿喷,欢迎各位指出错误的地方

暑假在家无聊,刚好也在学习STM32的HAL库,就想着做个小车巩固自己学到的知识,顺便记录自己所遇到的错误

小编也是现学现写,现已学会变速和红外寻迹和蓝牙控制,准备做一个蓝牙遥控红外寻迹超声波避障小车

这篇博客讲述的就是如何去制作蓝牙小车

接线和材料准备在:接线和材料准备

                    

从图中可以看到,如果要外接传感器很多的话,最小系统板的供电口是不够的,需要使用面包板来完成供电,这里推荐使用400孔面包板,后期可以再多加模块。

不会使用面包板的点击这里,这里面有面包板的详细使用教程。

这篇博客的工程是在上一篇博客的基础上完成的,建议去看玩上一篇博客再来看这个

1,相关传感器的介绍

蓝牙模块-HC-05

HC-05蓝牙模块是一种成本低、易于使用的蓝牙通信模块,适用于各种嵌入式系统和物联网应用。它通过UART接口与主控设备通信,具有稳定的通信性能和较远的传输距离。

看着很难,其实很简单的。         

                                                                                    

 2.蓝牙模块对应功能的引脚分配

蓝牙HC_05模块
RXD引脚   PA9  USART1_TX
TXD引脚   PA10   USART1_RX

3.蓝牙模块的AT指令配置

用串口软件使用AT指令查看/修改对应的蓝牙访问密码,波特率和对应的蓝牙名字

注意波特率一定要和下面的串口一致。

使用教程:蓝牙hc_05模块的使用

4.stm32cubeMX的配置

USART是是一种通用的串行通信接口

其他的配置请访问:  寻迹小车,配置内容均一致

由于内容过多,这里就不一一列举

USAR的配置

这里注意:Baud Rate 波特率这里一定要和蓝牙模块的波特率一致,不然无法传输接收数据的

其他的默认就行

 5,代码展示部分

注意: 因为大部分代码都是软件生成的,里面有很多注释,这里为了直观就都删除了

需要改动的部分都贴出来了,只需要修改主函数内容,其他的软件都帮你生成了,简单吧。

#include "main.h"
#include "tim.h"
#include "usart.h"
#include "gpio.h"
#include "motor.h"
void SystemClock_Config(void);
int main(void)
{
  uint8_t rx;                 /*用于接收接收到的数据*/
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_TIM4_Init();
  MX_USART1_UART_Init();
    
  /* USER CODE BEGIN 2 */
        HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_1);
        HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2);
        HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3);
        HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4);
        Change_speed(70);//初始速度:速度区间0-100
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
    while (1)
    {
      HAL_UART_Receive(&huart1,&rx,1,HAL_MAX_DELAY);
        switch(rx)
        {
            case 'F':Forward();break;//前进
            case 'B':Backward();break;//后退
            case 'L':Turn_Left();break;//左转
            case 'R':Turn_Right();break;//右转
            case 'C':Change_speed(80);break;//变速加
            case 'M':Change_speed(70);break;//变速减
            default:Stopward();break;//停止
        }

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    }
}

 6,蓝牙APP的制作,强烈推荐

App Inventor是一款由麻省理工学院(MIT)开发的可视化编程平台,用于创建Android应用程序。它是为非专业开发人员和初学者设计的,旨在降低学习和开发移动应用的门槛。

右图所示是小编使用这个平台编写的软件

强烈推荐大家使用这款软件去开发一款自己专属的蓝牙调试助手

当然,不想开发的也可以直接用我的,放到文末的资源包里面了

对应的教程:蓝牙调试助手APP的开发

7,总结

上面的内容比较简洁,因为大部分内容都在上一篇博客中讲述了,因为蓝牙控制需要手机控制,不

工程代码以及蓝牙调试助手:工程代码以及蓝牙调试助手

效果展示

HAL库开发的智能小车------蓝牙小车

下一篇博客预知-------App Inventor的相关介绍

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值