热度 4|||
最近在做一个蓝牙相关的项目,就先买了个蓝牙模块,通过430开发板编了个简单的代码,可以实现安卓手机控制板上的器件工作(这里以LED灯为例,原理一样)。
关于蓝牙模块的购买,在淘宝上有很多模块。功能上主要分为两类:带232电平转换芯片和不带232电平转换芯片的。带232电平转换芯片可以很方便的与电脑通过串口调试,但是与单片机通信时又需要将232电平转换成CMOS电平,单片机才可接收。本人建议是,如果开发板上有232电平转换芯片,而且引脚接出可以测试,那可以直接购买不带转换芯片的蓝牙模块。本例中使用的蓝牙模块型号是BMX-03A,价格便宜,很容易买到。
蓝牙模块有多个引脚,要实现与手机的通信,只需要与单片机连接Vcc、GND、Txd和Rxd四个引脚即可。连接好上电后,就可以给单片机烧写串口数据来与蓝牙模块进行通信。
安卓手机这边,需要下载一个蓝牙串口软件,用来给蓝牙模块发送和接收数据。打开蓝牙,搜索到蓝牙模块,建立连接。这样就要编写代码,来实现手机控制开发板的功能了。
手机通过蓝牙控制单片机代码的原理,是单片机通过串口不断监听蓝牙模块接收到的数据(MSP430的硬件中断就省电很多),但手机发送数据后,蓝牙模块接收到并通过串口传至单片机。此时,单片机对接收到的数据进行判断,如果是控制指令(LED亮或灭或其他操作),则执行相应的操作即可。这样就实现了手机与单片机通信。
下面是我自己基于MSP430写的代码贴出来供大家参考,其他型号的单片机原理是一样的。
最后,欢迎大家来与我进行交流,但请勿将本博客的代码用于商业用途。