arduino 蓝牙模块测试
今天在chatgpt的高效查询下顺利地测试了arduino的蓝牙功能:
蓝牙模块(JDY-31):
原材料
Arduino UNO开发板 x1
蓝牙模块JDY-31 x 1
子母杜邦线 若干
马达/LED灯 x 1(本次用的是马达)
总成本约30元
接线
部分接线位置和代码有关,如果有必要可以修改代码。
蓝牙模块
蓝牙模块只要接四根线就行了,按 Arduino板->蓝牙模块 的顺序:
5v -> VCC
GND -> GND
D2 -> TXD(Transmit Data 发送数据)
D3-> RXD(Receive Data 接收数据)
蓝牙模块正面接线(上面那张图是背面) | arduino板接线情况(5V、GND) | arduino板接线情况(D2、D3和9、GND) |
马达
马达直接把两头接在开发板上就行。按Arduino板 -> 马达 的顺序:
9 -> 马达一端
GND(每一个GND接头都是相同的) -> 马达另一端
C++代码
#include <SoftwareSerial.h> SoftwareSerial BTserial(2, 3); // 将蓝牙模块连接到D2和D3引脚 char r; void setup() { Serial.begin(9600); BTserial.begin(9600); // 初始化软串口 pinMode(9, OUTPUT); } void loop() { if (BTserial.available()) { // 如果从蓝牙模块接收到数据 r = BTserial.read(); if (r=='a'){digitalWrite(9, HIGH);} // 如果接收到a就启动马达/灯 else {digitalWrite(9, LOW);} // 接收到非a就关闭马达/灯 Serial.write(r); // 将数据发送到串行监视器 } if (Serial.available()) { // 如果从串行监视器接收到数据 BTserial.write(Serial.read()); // 将数据发送到蓝牙模块 } }
步骤
1.将线按照描述接好
2.用数据线连接电脑和开发板
3.打开arduino IDE,输入程序,并点击上传
4.手机上在应用商店搜索“蓝牙连接spp助手”之类的应用,下载,连接上蓝牙模块(我的这个名称叫“JDY-31 spp”,默认配对码一般是1234)
5.在手机上选择ascii码格式(具体名称可能叫“us-ascii”) 作为输出到蓝牙的格式
6.在手机输入一个字母“a"并点击“发送”按钮,马达/灯就会转/亮起来
7.发送其他字符,马达就会停下/灯就会灭
备注
arduino IDE可以在百度上搜索,免费下载和安装。
arduino IDE基本操作
选择正确的开发板版本和端口
点击“工具”,选择符合你的板的arduino版本和正确的端口号:
端口号可以通过windows搜索“设备管理器”查看:
选择arduino对应的端口。
上传程序到开发板(左边这句话不知道为什么不能设置成标题):
点击左上角用红色圆圈框起来的箭头可以上传
arduino板和电脑通过数据线传输的数据内容可以通过点击右上角的放大镜按钮,打开一个子窗口查看(前提是有具体传输内容,就这个案例而言,是有的,蓝牙端接收到的信号都会以ascii码的格式通过数据线传送回电脑)