📅  最后修改于: 2023-12-03 15:29:27.480000             🧑  作者: Mango
本文介绍使用Arduino和BLE模块实现LED调光器的代码实现过程。
首先连接LED灯连接到Arduino开发板,使用220欧姆电阻连接到数字口12。
然后连接BLE模块到Arduino开发板的RX和TX口,使用SoftwareSerial库控制模块。在Arduino IDE中打开串口监视器,可以查看模块输出的蓝牙名称和Mac地址,用于后续连接。
接下来就是代码实现过程,具体代码如下:
#include <SoftwareSerial.h>
SoftwareSerial bleSerial(10, 11); // 建立软串口对象
#define ledPin 12
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW); // 关闭LED
Serial.begin(9600);
bleSerial.begin(9600); // 打开软串口
}
void loop() {
if (bleSerial.available()) { // 如果BLE模块有数据
char data = bleSerial.read(); // 读取第一个字节
if (data == '0') { // 关闭LED
digitalWrite(ledPin, LOW);
} else if (data == '1') { // 打开LED
digitalWrite(ledPin, HIGH);
} else if (data >= '2' && data <= '9') { // 调节LED亮度
analogWrite(ledPin, (data - '0') * 25);
}
}
}
程序中使用软串口控制BLE模块,每当BLE模块向Arduino发送数据时,通过read()函数读取第一个字节的数据。当收到字符‘0’时,关闭LED灯;当收到字符‘1’时,打开LED灯;当收到字符‘2’到‘9’时,将LED灯亮度调节为100%到25%之间的等级。
在LightBlue App中搜索BLE模块并连接后,向BLE模块发送数据即可控制LED灯的开关和亮度。
至此,我们通过Arduino和BLE模块实现了LED灯的调光控制。通过蓝牙技术,我们可以方便地从智能手机等设备上控制LED灯的开关和亮度,使得我们的生活更加便捷和智能化。