尽管在过去十年中引入了许多无线技术,但是蓝牙仍然是短距离无线通信中最受欢迎的技术。在嵌入式系统中,HC-05 / 06是最受欢迎的蓝牙模块。我们之前在许多项目中都使用了该蓝牙模块来控制家用电器,机器人等,并将其与其他微控制器连接:
- 将蓝牙HC-05与STM32F103C8蓝色药丸连接:控制LED
- 蓝牙模块与ESP8266的连接:控制LED
- HC-05蓝牙模块与AVR微控制器的接口
- 使用Arduino和蓝牙的语音控制LED
今天,我们将学习将蓝牙模块HC-05与德州仪器(TI)的MSP430 Launchpad接口。在此接口示例中,我们将使用蓝牙终端android应用程序从智能手机控制MSP430的板上LED。
如果您是MSP430的新手,则可以使用Energia IDE教程从MSP430G2入门开始,并且可以在此处关注所有MSP430教程。
所需材料
- TI-MSP430启动板
- HC-05蓝牙模块
- Play商店中的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蓝牙模块与TI-MSP340板如下所示。
在这里,我们已经完成了HC-05的4个连接。HC-05的RxD和TxD引脚分别连接到MSP430的P1.1和P1.2,以进行串行通信。HC-05的VCC和GND连接到MSP430的VCC和GND。
编程用于蓝牙模块HC-05的MSP430启动板
使用MSP430对该蓝牙控制LED进行编程很容易。MSP将使用与Arduino IDE非常相似的Energia IDE进行编程,因此Arduino熟悉的人在理解这一点时不会遇到任何困难。本教程末尾提供了带有演示视频的完整代码。
我们首先为正在使用的红色LED定义一个宏。该行只是为了简单起见,因此我们可以使用LED代替RED_LED
#定义LED RED_LED
接下来是我们的 setup() 函数, Serial.begin() 函数用于将串行通信的波特率设置为9600,因为这是HC-05的默认波特率。我们还使用了 pinMode() 函数将数字引脚初始化为输出(在本例中为LED)。
void setup(){ Serial.begin(9600); pinMode(LED,输出); }
在 循环 功能中,首先我们通过 Serial.available() 函数检查数据在串行端口上是否可用。接下来,定义一个变量 data_recieved ,该变量存储 Serial.read () 函数的值。此功能用于从蓝牙接收数据。
接下来,在if-else语句中,我们将检查从电话发送的数据。如果为1,则使用 digitalWrite(LED,HIGH) 打开LED ;否则为0。 并使用 Serial.write() 函数在应用程序上显示打开LED的消息。如果为2,则使用 digitalWrite(LED,LOW) 关闭 LED; 并使用 Serial.write() 函数在应用程序上打印LED熄灭的消息。
void loop(){ if(Serial.available()) { char data_received; data_received = Serial.read(); 如果(data_received =='1') { digitalWrite(LED,HIGH); Serial.write(“ LED点亮”); } 否则,如果(data_received =='2') { digitalWrite(LED,LOW); Serial.write(“ LED熄灭”); } } }
使用MSP430的蓝牙控制LED的工作
最后,使用Energia IDE将代码上传到MSP430,然后在智能手机上下载并安装Bluetooth Terminal应用程序。该应用程序如下所示:
现在,打开智能手机中的蓝牙并通过从可用设备列表中选择HC-06来连接蓝牙模块。使用密码0000或1234进行连接。连接后,将打开一个标题为设备名称的窗口,并在其下方写有连接。该窗口如下图所示:
在此窗口中,尝试通过蓝牙模块HC-05将1和2发送到MSP430。发送1将打开LED指示灯,并且消息将在手机上显示“ LED指示灯点亮”,如下图所示:
并发送2将关闭LED指示灯,并且消息将打印在手机上,显示“ LED指示灯已熄灭”,如下图所示。瞧!您只需使用蓝牙通过手机控制一个LED。
这就是可以使用蓝牙无线控制LED的方式。通过将LED替换为继电器和任何家用电器,可以轻松地将其转换为家庭自动化项目。
带有演示视频的完整代码如下。