使用MSP430 Launchpad开发板连接HC-05蓝牙模块控制LED灯

发布者:painter最新更新时间:2022-01-17 来源: eefocus关键字:MSP430  Launchpad  HC-05  蓝牙模块  控制LED灯 手机看文章 扫描二维码
随时随地手机看文章

尽管在过去十年中引入了许多无线技术,但是蓝牙仍然是短距离无线通信中最受欢迎的技术。在嵌入式系统中,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蓝牙模块和TI-MSP340开发板的电路图如下所示。

在本文中,我们已经完成了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应用程序。该应用程序如下所示:



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

在此窗口中,尝试通过蓝牙模块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。


关键字:MSP430  Launchpad  HC-05  蓝牙模块  控制LED灯 引用地址:使用MSP430 Launchpad开发板连接HC-05蓝牙模块控制LED灯

上一篇:在脉搏血氧计设计中应用含智能模拟组合 MSP430™ MCU 的好处
下一篇:使用Code Composer Studio开发MSP430 - GPIO外部中断

推荐阅读最新更新时间:2024-11-13 10:12

基于MSP430F149的电力测控保护产品的应用设计
MSP430F149(以下简称“F149”)是德州仪器(TI)公司推出超低功耗Flash型16位RISC指令集单片机。F149有丰富的内部硬件资源,是一款性价比极高的工业级芯片。在应用中,F149不需做过多的扩展,适合要求快速处理的实时系统,故可在电力系统微机测量和保护方面得以应用。详细的F149资料可参阅有关文献,本文主要对电力系统中基本参数测量的实现方法和开发中一些应注意的问题进行论述。 1 F149外围模拟信号调理 在电力系统微机测量中,通常将一次额定电流和电压通过电流互感器(TA)、电压互感器(TV)分别转换为0~5A的电流信号和0~100V的电压信号,该信号再经一级互感器转换为数百mV~几V的电压信号,具体输出电
[单片机]
基于<font color='red'>MSP430</font>F149的电力测控保护产品的应用设计
MSP430定时器介绍
MSP430定时器笔记 1.定时器参数 1.1 基本定时器 typedef enum { TIMER_A0 , TIMER_A1 , TIMER_A2 , TIMER_B0 , TIMER_NUM , }TIMERn; //定时器模块 1.2 定时器通道引脚、时钟选择 const GPIO_PIN TIMER_CHANEL_PIN = {// CH0 CH1 CH2 CH3 CH4 CH5 CH6 {{P1,1},{P1,2},{P1,3},{P1,4},{P1,5}}, //TIMER_A0 {{P1,7},
[单片机]
<font color='red'>MSP430</font>定时器介绍
MSP430系统时钟 ACLK、MCLK、SMCLK
MSP430基础时钟模块包含以下3个时钟输入源。 一、4个时钟振荡源 1、LFXT1CLK: 外部晶振或时钟1 低频时钟源 低频模式:32768Hz 高频模式:(400KHz-16MHz) 2、XT2CLK: 外部晶振或时钟2 高频时钟源(400KHz-16MHz) 3、DCOCLK: 内部数字RC振荡器,复位值1.1MHz 4、VLOCLK: 内部低功耗振荡器 12KHz 注:MSP430x20xx: LFXT1 不支持 HF 模式, XT2 不支持, ROSC 不支持. (1)LFXT1CLK 低频时钟源:由
[单片机]
MSP430F149-利用IO中断方式实现按键检测程序
#include msp430x14x.h #define key1 0x01 #define key2 0x02 #define key3 0x04 #define delay_small 200 #define key_1 0xfe //定义返回键值1 #define key_2 0xfd //定义返回键值2 #define key_3 0xfb //定义返回键值3 void key_process_0(void); void key_process_1(void); void key_process_2(void); void key_check (void); unsigned char key_value
[单片机]
基于MSP430的电机功率因数测量系统
MSP430系列单片机是一种超低功耗的混合信号处理器(Mixed Signal Processor),它具有低电压、超低功耗、强大的处理能力、系统工作稳定、丰富的片内外设、方便开发等优点,具有很高的性价比,在工程控制等领域有着极其广泛的应用范围。使用MSP430实现对电机功率因数等电力参数的测量,不但提高了测量的精度和自动化水平,而且降低了系统的功耗。 1 功率因数与相位 电机的功率因数cosΦ值是相电压与相电流的余弦值。设三相的电压分别为UA,UB,UC,电流分别为IA,IB,IC,则它们的表达式如下: 上式中:UM表示每相电压幅值;IM表示每相电流幅值;ω表示角频率;Φ表示相电流滞后相电压的相位差角。图1给出了三相输电
[单片机]
基于<font color='red'>MSP430</font>的电机功率因数测量系统
贸泽电子开售适用于物联网和手持无线应用的Murata Type 2BZ Wi-Fi +蓝牙模块
2023年6月1日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起供货Murata的Type 2BZ Wi-Fi®+蓝牙模块 (LBEE5XV2BZ)。 Type 2BZ Wi-Fi+蓝牙模块为工程师提供双频段小型无线连接解决方案,适用于物联网 (IoT)、手持无线装置、网关、智能家居和工业等功率敏感型应用。 贸泽电子供应的Murata Type 2BZ Wi-Fi+蓝牙模块是一款基于英飞凌CYW54590 Combo芯片组的小型高性能无线连接模块。 Type 2BZ模块具有非常复杂的增强型协作共存硬件机制和算法,可确保优化无线局域网
[物联网]
贸泽电子开售适用于物联网和手持无线应用的Murata Type 2BZ Wi-Fi +<font color='red'>蓝牙模块</font>
MSP430程序升级
利用自定义升级固件 MSP430系列单片机的FLASH存储器模块是一个可独立操作的物理存储单元。全部模块安排在同一个线性地址空间中,存储器被分为多个512字节的段(信息段大小为128/64字节)。各段可单独擦除,并且在正常工作电压下程序可对FLASH进行擦写操作,因此特别适合在线程序升级(in-system program)。 自定义升级固件就是在程序中内置一段用于升级应用程序的代码,即可利用现有通信接口进行远程代码的升级。其实现原理是在目标芯片中放置2段代码:一段为应用程序,一段为升级程序。两者的地址段不重叠,这样就可以利用升级程序擦除应用程序并写入新的代码。 3.1引导程序 复位后先进入引导程序,由它来决定进入升级程序或应用
[单片机]
基于MSP430的电机功率因数的测量系统
MSP430系列单片机是一种超低功耗的混合信号处理器(Mixed Signal Processor),它具有低电压、超低功耗、强大的处理能力、系统工作稳定、丰富的片内外设、方便开发等优点,具有很高的性价比,在工程控制等领域有着极其广泛的应用范围。使用MSP430实现对电机功率因数等电力参数的测量,不但提高了测量的精度和自动化水平,而且降低了系统的功耗。 1 功率因数与相位 电机的功率因数cosΦ值是相电压与相电流的余弦值。设三相的电压分别为UA,UB,UC,电流分别为IA,IB,IC,则它们的表达式如下: 上式中:UM表示每相电压幅值;IM表示每相电流幅值;ω表示角频率;Φ表示相电流滞后相电压的相位差角。图1给出了三相输电
[单片机]
基于<font color='red'>MSP430</font>的电机功率因数的测量系统

推荐帖子

学习心得+电路基础保护
学习电路保护基础,可以对以后进行电子设计时对电路做一些电路保护设计,防止重要设备的损坏,是比较实用的一门课程。通过对这门课程,学习到电路保护的内容非常多,保护浪涌控制、带热电插拔、电流限制、电子电路断路保护、软启动等。这些保护中每一项保护都是必不可少的。对于现在电路保护的趋势也是向准确度、效率、高集成度等方向发展。这个课程中对FET的安全工作区计时解讲的不错,这是在平时经常要去分析的一个问题,对于每一种型号管子,都有一个安全工作区,课程中提出了,现在使用FET时,存在的普遍问题是安全工
billjing 模拟与混合信号
求助 怎么编辑 Altium Designer 元件库和封装库 文件?
在网上下载了一下AltiumDesigner的元件库和封装库,可是经常会出现问题。我想重新编辑一下这些库,然后改成自己的?库文件的后缀是.SchLib和.PcbLib。不知道该怎么编辑.SchLib和.PcbLib后缀的文件?谢谢!求助怎么编辑AltiumDesigner元件库和封装库文件?麻烦高手指点一下啊!
upc_arm PCB设计
除法的运算
本帖最后由dontium于2015-1-2313:21编辑在汇编中没有直接进行除法的指令,如何有效快速的进行除法运算,请各位老师、高手指教,小弟不胜感激!!!除法的运算本帖最后由dontium于2015-1-2313:21编辑C64x系列的一块芯片,它自己支持的汇编程序中没有除法,要通过60-120个周期用移位和减法才能实现除法,有什么快速的办法没有,这种除法在图像处理中不可行,数据量太大了,比如前后两帧图像的对应象素点a1和a2,作如下处理(a1×49
mr.luoli 模拟与混合信号
ARM9:如何将linux2.6.38内核移植到TQ2440
天嵌科技感谢ANDY的支持,本文是作者通过一个星期不停修改错误,看代码,每天都忙到2点才休息的劳动成果!终于将linux2.6.38内核成功移植到TQ2440嵌入式开发板上。  下面是linux2.6.38内核移植到TQ2440的具体步骤:  1.修改根目录的Makefile中的ARCH=arm,CROSS-COMPILE=arm-linux-  2.在arch/arm/mach-s3c2440/mach-smdk2440.c中,将163行的s3c24
小小宇宙 Linux与安卓
开关电源上拉电阻和上拉电阻电路图解
开关电源中有很多电阻,那么这些电阻都起到什么作用呢?先了解上拉电阻和下拉电阻,那么为什么需要上拉电阻和下拉电阻呢?看下面的电路图R3就是上拉电阻,B点电压在三极管不导通时是12V,当A点电压超过0.6V,三极管就会导通,B点电压为0.3V.实际这个电路也是一个反相器,输入高电平,输出低电平,输入可以是一个电压如3.3V,输出电压可以是5-24V,实现电压转换控制。有上拉电阻这个上拉电阻就是把B点电压拉高到12V,如果没有这颗电阻,三极管不会导通,B点也不会有电压
木犯001号 电源技术
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved