1、背景
目前很多通信方式都需要外附手柄,控制器,接收器,体积比较大,用起来不够方便。那么,对于距离要求不高的控制小项目,蓝牙通信一定是不二之选。
2、需要预备了解的内容
基础的编程思想和基础的C语言或Python语言知识,单片机原理的基础知识。
3、蓝牙模块与arduino nano的连线
一般蓝牙模块需要连接Vcc,GND,TXD,RXD四个引脚。那么连接方式为:
蓝牙模块:Vcc arduino:5V
GND GND
TXD RX(0)
RXD TX(1)
蓝牙模块与arduino nano 的连接按照以上对应关系相对应连接即可。
4、蓝牙模块与手机蓝牙的连接
首先,连接好电路后,给开发板供电,可以看到蓝牙模块的指示灯在闪烁(表示没有连接)。
在这里,老牛也进行了简单的尝试,发现直接通过手机蓝牙是无法进行串口通信的,也是连接失败了。那怎么办嫩,就建议小伙伴们去下载一个支持蓝牙通信的小软件,经过尝试,也是成功连接上了,而且效果也比较好。
下载好软件之后,打开手机蓝牙,打开蓝牙串口软件,检测蓝牙信号,找到蓝牙模块的信号,点击配对,一般密码是:0000或者1234,大家可以自己尝试一下,查一下也行。连接成功后,蓝牙模块指示灯停止闪烁,保持常亮状态。这个时候就连接上了。
5、arduino nano内部程序的撰写
首先,定义一个变量(LanYa(这里老牛定义的是char型))用来存放我们所发送的数据。
然后对串口进行初始化,初始化波特率为9600,LED灯复用引脚为输出模式。至此就基本完成了,废话不多说,直接上程序,注释详细,小伙伴们自己看就行。
/*****************************************
This program just belong to Niu Lao.
Don't spread it on website casually.
Auther: Niu Lao
Function:1、实现手机蓝牙与arduino nano通信
2、实现手机蓝牙连接蓝牙模块与arduino nano实现数据收发
3、实现LED灯的亮灭控制
******************************************/
char LanYa;
void setup()
{
Serial.begin(9600); //蓝牙模块默认波特率为9600(有的小伙伴的模块可能有型号差别,如果没有收到消息,建议试一试115200,38400等等)
pinMode(13, OUTPUT);//板载LED灯引脚
}
void loop()
{
LanYa = Serial.read();//读取串口缓冲区的数据
if ( LanYa == 'l') //当接收到的数据为n时
{
digitalWrite(13, HIGH); //点亮LED灯
Serial.println("LED ON!"); //串口输出“LED ON!”(懵懂小新记得打开串口监视器哦!(记得串口波特率与初始化波特率也要一致哦!))
}
else if (LanYa == 'm') {//当接收到的数据为f时
digitalWrite(13, LOW);//熄灭LED灯
Serial.println("LED OFF!");//串口输出“LED OFF!”
}
}
6、总结
使用蓝牙模块可以使整个硬件系统的控制变得简化,在老牛没有使用蓝牙模块之前,是一直在使用Ps2手柄进行通信控制的(老牛之前已经写过Ps2手柄与arduino的通讯实例,有需要的小伙伴可以自行到老牛的主页去找)。
整个过程也只用到了串口初始化函数,实现通信比较简单,主要是帮助新手小白理解,为大家创造例程模板,方便大家开发。
最后,蓝牙模块虽然方便,四根线一块板就可以通信了,但是控制的距离比较受限制,想要远距离的控制的小伙伴可以参考Ps2手柄通信和航模遥控器控制。老牛也会继续为大家开发模块例程。文章来源:https://www.toymoban.com/news/detail-405260.html
新手小白记得关注老牛哦!文章来源地址https://www.toymoban.com/news/detail-405260.html
到了这里,关于arduino nano 简单实现蓝牙模块与手机进行通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!