Arduino通过无线蓝牙控制教程说明 – 搞机Pro网 .home .main .sec-panel-head .j-newslist, .search-results .pagination, .home .load-more-wrap { display: none; } .single .entry-content img { display: block; margin-left: auto; margin-right: auto; } .single-post .entry-content iframe { width: 100%; height: 500px; } @media (max-width: 767px){ .single-post .entry-content iframe { width: 100%; height: 300px; } } LA.init({id: \”JhQPBU91LuYhvCSn\”,ck: \”JhQPBU91LuYhvCSn\”,autoTrack:true}) function isMobile() { var userAgent = navigator.userAgent.toLowerCase(); return /ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(userAgent); } <meta name=\"description\" content=\" 测试程序1:使用Arduino通过无线蓝牙控制Arduino引脚11的LED点亮/熄灭 /* HC-06-Serial-LED-demo by太极创客
测试程序1:使用Arduino通过无线蓝牙控制Arduino引脚11的LED点亮/熄灭
/*
HC-06-Serial-LED-demo
by 太极创客(2017-07-08)
www.taici-maker.com
此程序旨在演示如何利用HC-06蓝牙模块通过手机或平板电脑的
蓝牙功能来打开和关闭arduino开发板引脚11上连接的LED。
---- 电路连接 ----
HC-06 Arduino Uno R3 引脚
TX 0 (RX)
RX 1 (TX)
VCC +5v
GND GND
注意:
1. 须使用分压电路,确保HC-06 RX信号电压为3.3伏特。
2. 须先将此程序上传至ARDUINO后,再将HC-06连接在ARDUINO开发板的串口引脚上。
否则程序将无法正常上传。
*/
char serialData;
void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT); //11引脚连接演示用LED
}
void loop(){
if( Serial.available()>0 ){
serialData = Serial.read();
if (serialData == '1' ) { //接收到点亮LED指令
Serial.print("Got command: "); Serial.println(serialData);
Serial.println("LED-ON");
digitalWrite(11, HIGH); //点亮LED指令
} else { //接收到熄灭LED指令
Serial.print("Got command: ");
Serial.println(serialData);
Serial.println("LED-OFF");
digitalWrite(11, LOW); //熄灭LED指令
}
}
}
测试程序2:使用Arduino通过无线蓝牙控制调节Arduino引脚11的LED明暗
/*
HC-06-Serial-LED-Fade
by 太极创客(2017-07-08)
www.taici-maker.com
此程序旨在演示如何利用HC-06蓝牙模块通过手机或平板电脑的
蓝牙功能来设置arduino开发板上11引脚上连接LED的亮度。
如需获得更多关于本程序的使用说明,请参见太极创客制作的《零基础入门学用Arduino》教程。
---- 电路连接 ----
HC-06 Arduino Uno R3 引脚
TX 0 (RX)
RX 1 (TX)
VCC +5v
GND GND
LED Arduino Uno R3 引脚
+ 11 (RX)
- GND (通过220欧姆限流电阻)
注意:
1. 须使用分压电路,确保HC-06 RX信号电压为3.3伏特。
2. 须先将此程序上传至ARDUINO后,再将HC-06连接在ARDUINO开发板的串口引脚上。
否则程序将无法正常上传。
*/
int brightness; //LED亮度变量
int serialData; //串口数据变量
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(11, OUTPUT);
}
void loop(){
if( Serial.available()>0 ){ //如果串口缓存有数据
serialData = Serial.parseInt(); //将串口缓存数值存储到serialData变量
Serial.print("serialData = "); Serial.println(serialData);
if (serialData >=0 && serialData <= 255) {
if (serialData >= brightness){ //逐渐调节LED亮度
for (brightness; brightness <= serialData; brightness++){
analogWrite(11, brightness);
Serial.print("brightness = "); Serial.println(brightness);
delay(5);
}
} else {
for (brightness; brightness >= serialData; brightness--){
analogWrite(11, brightness);
Serial.print("brightness = "); Serial.println(brightness);
delay(5);
}
}
}
}
}
Arduino蓝牙模块HC06-2
/*
HC-06蓝牙模块设置以及功能测试
by 太极创客(2017-07-08)
www.taici-maker.com
此程序旨在演示如何通过HC-06模块使用蓝牙通讯向Arduino数字IO引脚
收发串口数据,以及如何设置HC-06蓝牙模块。
如需获得更多关于本程序的使用说明,请参见太极创客制作的《零基础入门学用Arduino》教程。
---- 电路连接 ----
HC-06 Arduino Uno R3 引脚
TX 2
RX 3
VCC +5v
GND GND
注意:须使用分压电路,确保HC-06 RX信号电压为3.3伏特。
//
---- AT指令 ----
指令 答复 说明
AT OK 通讯测试
AT+VERSION OKlinvorV1.8 固件版本
AT+NAMEmyBTmodule OKsetname 设置设备名 “myBTmodule”
AT+PIN6789 OKsetPIN 设置设备 PIN 6789
AT+BAUD1 OK1200 设置波特率 1200
AT+BAUD2 OK2400 设置波特率 2400
AT+BAUD3 OK4800 设置波特率 4800
AT+BAUD4 OK9600 设置波特率 9600
AT+BAUD5 OK19200 设置波特率 19200
AT+BAUD6 OK38400 设置波特率 38400
AT+BAUD7 OK57600 设置波特率 57600
AT+BAUD8 OK115200 设置波特率 115200
AT+BAUD9 OK230400 设置波特率 230400
AT+BAUDA OK460800 设置波特率 460800
AT+BAUDB OK921600 设置波特率 921600
AT+BAUDC OK1382400 设置波特率 1382400
*/
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2, 3); // 建立SoftwareSerial对象,RX引脚2, TX引脚3
void setup() {
Serial.begin(9600);
BTserial.begin(9600); // HC-06 默认波特率 9600
Serial.print("HC-06 DEMO/TEST ");
BTserial.print("AT"); //可在此处输入设置HC-06蓝牙模块的AT指令。
//此AT指令须在HC-06未连接蓝牙状态输入。
pinMode(11, OUTPUT);
}
void loop(){
// 通过串口监视器显示HC-06发送的数据
if( BTserial.available()>0 ){ //如果软件串口有HC-06发来的数据
char BTserialData = BTserial.read(); //将软件串口中的数据赋值给变量BTserialData
Serial.print( BTserialData ); //通过硬件串口监视器显示HC-06发来的数据
if (BTserialData == '1') { //判断HC-06发来的数据是否是字符1
digitalWrite(11, HIGH); //如果是字符1,则点亮LED
} else if (BTserialData == '0') { //如果不是字符0
digitalWrite(11, LOW); //则熄灭LED
}
}
// 将用户通过串口监视器输入的数据发送给HC-06
if (Serial.available()>0) { //如果硬件串口缓存中有等待传输的数据
char serialData = Serial.read(); //将硬件串口中的数据赋值给变量serialData
BTserial.print( serialData ); //将硬件串口中的数据发送给HC-06
}
}
声明:如若本站内容侵犯了原著者的合法权益,请提供凭证,可联系我们进行处理,详见<免责声明>