零基础入门学用Arduino教程(MeArm 篇) – 17 Arduino蓝牙模块HC06-1
本课使用的手机蓝牙应用下载(百度网盘下载)
本课主要内容:
+ HC-06蓝牙模块的使用说明
+ Arduino连接HC-06蓝牙模块的电路说明
+ 如何用手机通过无线蓝牙向HC-06模块发送控制Arduino的指令
本课示例代码:(无法复制本站示例程序代码?请点击这里获得解决方法。)
测试程序1:使用Arduino通过无线蓝牙控制Arduino引脚11的LED点亮/熄灭
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
/* HC-06-Serial-LED-demo 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 注意: 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明暗
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
/* 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); } } } } } |