用STM32F103C8T6接口HC-05蓝牙|STM32蓝丸

在这个项目中,我将向您展示如何使用STM32F103C8T6蓝色丸板界面接口HC-05蓝牙。通过使用STM32将蓝牙模块(如HC-05或HC-06)接口,您可以与STM32 MCU无线通信,例如智能手机等蓝牙设备。

作为该项目的演示,我将控制从安装在Android手机上安装的蓝牙应用程序连接到MCU的PIN PC13的板载LED。

HC-05蓝牙模块

介绍

蓝牙是嵌入式系统中最受欢迎的无线通信协议之一。即使在移动电话和笔记本电脑等消费电子产品中,它也通常用于数据传输和音频功能。

事实上,随着BLE的发展(蓝牙低能量),基于蓝牙的无线耳机的开发和实现是它的峰值(抱歉3.5mm耳机夹粉丝,我自己包括!)。

来到嵌入式世界,HC-05蓝牙模块是最长时间使用的最流行的蓝牙模块。这是一个简单的基于UART基于的模块,它以传统的2.4GHz无线频率运行,范围高达10米。

我已经实施了几个基于HC-05蓝牙模块的项目。例如,在“HC-05蓝牙模块”教程中,我已经讨论了关于HC-05蓝牙模块的一些基本信息的达成交易,它在电路板上的布局,其引脚描述并还演示了如何接口HC-05蓝牙模块与Arduino。

HC-05蓝牙模块引脚和组件

因此,我建议您有关HC-05蓝牙模块的其他信息,请参阅该教程。在这个项目中,我将专注于带STM32F103C8T6蓝色丸板的连接HC-05蓝牙。

重要的提示

在以前的STM32教程中,我已经讨论了STM32F103C8T6蓝丸板的基础知识,以及如何通过电路板的USB端口上传程序。我不会再讨论这些主题。因此,我建议您在此项目进一步前进之前,您可以完全浏览下面提到的先前教程。伟德老虎机手机版

STM32F103C8T6简介- “STM32F103C8T6蓝丸开始

使用USB端口编程STM32蓝丸- “如何上传STM32F103C8T6 USB引导加载程序?

此外,您可以使用编程方法中的任何一种。使用USB到串行适配器或基于USB引导加载程序的基于传统的UART基于串行的编程,通过车载MicrousB端口。

如果您计划使用的蓝色药丸使用uart.然后请注意,相同的引脚用于与蓝牙模块(引脚PA9和PA10)通信。

如果您使用的是USB编程,则断开蓝牙模块的连接STM32板,上传程序并重新连接蓝牙模块。此外,请确保您设置正确的启动引脚配置。

电路原理图

下图显示了具有STM32F103C8T6 MCU的连接HC-05蓝牙模块的电路图。

带STM32F103C8T6电路图的连接HC-05蓝牙

所需的组件

硬件

  • STM32F103C8T6蓝丸板
  • HC-05蓝牙模块
  • 连接电线
  • USB到串行适配器(如果通过UART编程STM32)
  • USB电缆
  • 基于Android的智能手机

软件

  • Android手机的任何蓝牙终端应用程序

我没有对蓝牙应用程序提出任何建议,并随意使用任何蓝牙终端应用程序。为了演示项目,我用Kai Morich使用了“串行蓝牙终端”。如果要使用相同,请使用关联。

连接解释了

STM32F103C8T6蓝丸板和HC-05蓝牙模块之间的连接非常简单。蓝牙模块的RX引脚连接到MCU的PA9引脚,蓝牙模块的TX引脚连接到MCU的PA10引脚。

VCC和GND的HC-05蓝牙模块可以连接到蓝色丸板的5V和GND引脚。连接到PC13的板载LED用于演示。

用STM32F103C8T6接口HC-05蓝牙

现在我们已经看到了电路和连接,让我们继续使用STM32F103C8T6的HC-05蓝牙的实际接口。由于HC-05蓝牙模块基于UART的串行通信,因此我们必须使用蓝色丸板的UART引脚与蓝牙模块进行通信。

为了使事情更简单,我使用了UART1引脚I. PA9(TX)和PA10(RX)引脚,用于与HC-05蓝牙模块接口。上传程序时要小心。

如果您通过USB编程STM32至UART Converter,那么您并没有问题,因为您也有相同的编程引脚。这意味着Bluetooth模块无论如何必须断开连接。

问题是您选择通过USB端口上传程序。在这种情况下,您必须与STM32 I.12和PA10断开蓝牙模块的通信连接。

要记住的另一个重要措施是板载LED的连接。以下图像显示LED如何连接到MCU的PC13引脚。

LED连接到STM32F103C8T6

从此图像中,很明显,当PC13引脚低时,LED将打开,当PC13引脚高时,LED将关闭。因此,在代码中,我将使用相同的配置来打开和关闭LED。

代码

下面给出项目的代码。它非常简单,如果您已经实现了Arduino HC-05蓝牙模块界面,那么代码很容易理解。

Const Int LEDPIN = PC13;
char inputdata = 0;

void setup()
{
Serial1.Begin(9600);
serial1.println(“伟德亚洲会玩假吗电子设备中心”);
serial1.println(“带有stm32的HC-05蓝牙”);
Pinmode(LEDPIN,输出);
}

void循环()
{
if(serial1.available()> 0)
{
inputdata = serial1.read();

if(inputdata =='0')
{
DigitalWrite(LEDPIN,高);
serial1.println(“LED已关闭”);
}

否则if(inputdata =='1')
{
DigitalWrite(LEDPIN,低);
serial1.println(“LED亮起”);
}
}
}

上面的Serial1表示我正在使用UART1进行通信。只要您在代码中提供适当的连接并在代码中提供适当的初始化,您也可以使用STM32F103C8T6的UART2或UART3。

在职的

该项目的工作非常简单。首先,将程序上传到STM32蓝丸,然后按照电路图进行连接。然后转到Android智能手机上的蓝牙设置并配对HC-05蓝牙模块。

第一次配对时,它会要求销钉。在这种情况下,输入1234或0000.在我的情况下,它是1234.一旦完成配对,请在Android手机上打开蓝牙终端应用程序并搜索蓝牙设备。选择HC-05蓝牙模块。

现在,配置应用程序以传输'1'和'0'。发送'1'时,LED将打开,当发送“0”时,LED将关闭。

HC-05蓝牙模块与STM32应用程序

结论

在这个项目中,我谈到了初学者和爱好者的一个常用的通信模块I.e.HC-05蓝牙模块。此外,我通过用STM32F103C8T6蓝色丸板接口HC-05蓝牙来演示了一个简单的项目。

Android智能手机上的简单蓝牙终端应用程序用于与HC-05蓝牙模块通信以传输一些数据。然后,STM32将解码数据并打开或关闭板载LED。

一个反应

  1. Soundbox设备蓝牙始终存在问题

    嗨,我需要建议,
    希望断开蓝牙电路,以便在不损坏的情况下发送或接受无线传输,电路板可能正在做的其他操作,例如我无法控制其BT-ON的BT-OFF操作,
    希望只能通过现在的3.5mm连接器(仅限有线)连接扬声器,并继续通过扬声器通过USB PC连接器充电。

    原因:使用BT始终打开语音通信安全性。

发表评论

您的电子邮件地址不会被公开。

电子机器Favicon.
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map