风筝
发表于: 2021-2-23 10:32:33 | 显示全部楼层

尽管在过去十年中引入了许多无线技术,但是蓝牙仍然是短距离无线通信中最受欢迎的技术。在嵌入式系统中,HC-05 / 06是最受欢迎的蓝牙模块。在本篇文章中,我们将学习将蓝牙模块HC-05与德州仪器(TI)的MSP430 Launchpad开发板连接。在此示例中,我们将使用蓝牙终端android应用程序从智能手机控制MSP430开发板上的LED灯。


所需的材料

●    TI-MSP430 Launchpad开发板

●    HC-05蓝牙模块

●    应用商店中的Bluetooth Terminal App


HC-05蓝牙模块

HC-05是一款易于使用的蓝牙模块。它使用串行通信协议(USART)在设备之间进行通信。此模块有两种操作模式:第一种是命令模式,第二种是操作模式。命令模式用于配置设备设置,例如更改模块的密码、波特率等。操作模式用于在设备之间发送或接收数据。


在本本中,我们将使用默认设置(默认密码是0000或1234,设备名称是HC-05,默认波特率是9600)。因此,我们将仅在操作模式下工作。


工作电压范围为4V至6V(通常为+ 5V),工作电流为30 mA。模块的范围是100米。 HC-05蓝牙模块上总共有6个引脚,其中“ EN”和“ State”引脚用于“命令”模式。 HC-05蓝牙模块的引脚分配如下所示:

HC-05-Bluetooth-Module-Pinout.png


电路原理图

连接HC-05蓝牙模块和TI-MSP340开发板的电路图如下所示。

Circuit-Diagram-for-Interfacing-HC-06-Bluetooth-Module-with-MSP430-Launchpad.png


在本文中,我们已经完成了HC-05的4个连接。 HC-05的RxD和TxD引脚分别连接到MSP430的P1.1和P1.2,以进行串行通信。 HC-05的VCC和GND连接到MSP430的VCC和GND。


编程MSP430开发板用于蓝牙模块HC-05

使用MSP430对该蓝牙控制LED进行编程很容易。 MSP430将使用与Arduino IDE非常相似的Energia IDE进行编程,因此Arduino熟悉的人在理解这一点时不会遇到任何困难。


我们首先为红色LED定义一个宏。该代码只是为了方便,因此我们可以使用LED代替RED_LED

  1. #define LED RED_LED
复制代码

接下来是setup()函数,Serial.begin()函数用于将串行通信的波特率设置为9600,因为这是HC-05的默认波特率。我们还使用了pinMode()函数将数字引脚初始化为输出。

  1. void setup() {
  2.   Serial.begin(9600);
  3.   pinMode(LED, OUTPUT);
  4. }
复制代码

在loop()函数中,首先我们使用Serial.available()函数检查在串行端口上是否有数据。接下来,定义一个变量data_recieved,该变量存储Serial.read()函数的值。该函数用于从蓝牙接收数据。

接下来,在if-else语句中,我们将检查从手机发送的数据。如果为1,则使用digitalWrite(LED,HIGH)点亮LED,并在应用程序上显示使用Serial.write()函数点亮LED的消息。如果为2,则使用digitalWrite(LED,LOW)熄灭LED,并在应用程序上打印使用Serial.write()函数熄灭LED的消息。

  1. void loop() {
  2.     if (Serial.available())
  3.     {
  4.       char data_received;
  5.       data_received = Serial.read();
  6.       if (data_received == '1')
  7.       {
  8.         digitalWrite(LED, HIGH);
  9.         Serial.write("LED turned ON");      
  10.       }
  11.       else if (data_received == '2')
  12.       {
  13.         digitalWrite(LED, LOW);
  14.         Serial.write("LED turned OFF");
  15.       }
  16.     }
  17. }
复制代码

使用MSP430的蓝牙控制LED的工作过程

最后,使用Energia IDE将代码上传到MSP430,然后在智能手机上下载并安装Bluetooth Terminal应用程序。该应用程序如下所示:

Working-of-Bluetooth-Controlled-LED-using-MSP430.png


现在,打开智能手机中的蓝牙并通过从可用设备列表中选择HC-06与蓝牙模块连接。使用密码0000或1234进行连接。连接后,将打开一个标题为设备名称的窗口,并在其下方写有连接。该窗口如下图所示:

Controlling-LED-using-Bluetooth-with-MSP430_0.png


在此窗口中,尝试通过蓝牙模块HC-05将1和2发送到MSP430。发送1将点亮LED指示灯,并在手机上显示“LED turned ON”,如下图所示:

Testing-HC-05-Bluetooth-Module-with-MSP430-Launchpad.jpg


发送2将熄灭LED指示灯,在手机上打印消息,显示“LED turned OFF”。瞧!您只需使用蓝牙就能实现通过手机控制LED。


跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



手机版|

GMT+8, 2024-12-23 21:45 , Processed in 0.037071 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表