将HC-05和MSP430连接起来控制LED的方式

RF/无线

1823人已加入

描述

  虽然在过去十年中引入了许多无线技术,但蓝牙仍然是短距离无线通信中最受欢迎的技术。在嵌入式系统中,HC-05/06是最流行的蓝牙模块。

  今天我们将学习如何将蓝牙模块 HC-05 与德州仪器 (TI) 的 MSP430 Launchpad 连接起来。在这个接口示例中,我们将使用蓝牙终端安卓应用程序从智能手机控制 MSP430 的板载 LED 。

  所需材料

  TI-MSP430 启动板

  HC-05蓝牙模块

  Play 商店的蓝牙终端应用程序

  HC-05 蓝牙模块

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

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

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

msp430

  电路原理图

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

msp430

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

为蓝牙模块 HC-05 编程 MSP430 Launchpad

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

我们首先为我们正在使用的红色 LED 定义一个宏。这条线只是为了简单起见,这样我们就可以用 LED 代替 RED_LED

 

#define LED RED_LED

 

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

 

无效设置(){
  序列.开始(9600);
  pinMode(LED,输出);
}

 

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

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

 

void loop() { 
    if (Serial.available()) 
    { 
      char data_received; 
      data_received = Serial.read(); 
      if (data_received == '1') 
      { 
        digitalWrite(LED, HIGH); 
        Serial.write("LED 开启");       
      } 
      else if (data_received == '2') 
      { 
        digitalWrite(LED, LOW); 
        Serial.write("LED 关闭"); 
      } 
    } 
}

 

  使用 MSP430 蓝牙控制 LED 的工作

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

msp430

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

  在此窗口中,尝试通过蓝牙模块 HC-05 向 MSP430 发送 1 和 2。发送 1将打开 LED,并在您的手机上打印“ LED 已打开”的消息,如下图所示:

msp430msp430

msp430

  发送 2将关闭 LED,并在您的手机上打印“LED 已关闭”的消息,如下图所示。瞧!您只需使用蓝牙通过手机控制 LED。

msp430

  这就是使用蓝牙无线控制 LED的方式。通过用继电器和任何家用电器替换 LED,它可以很容易地转换为 家庭自动化项目。
#define LED RED_LED

void setup() {

Serial.begin(9600);

pinMode(2,输出);

}


void loop() {

if (Serial.available())

{

char data_received;

data_received = Serial.read();

if (data_received == '1')

{

digitalWrite(LED, HIGH);

Serial.write("LED 亮\n");

}

if (data_received == '2')

{

digitalWrite(LED, LOW);

Serial.write("LED 关闭\n");

}

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分