arduino的esp32蓝牙控制灯亮代码
时间: 2024-09-03 17:03:34 浏览: 255
在Arduino平台中,ESP32模块是一个常用的WiFi和蓝牙开发板,可以方便地控制硬件设备。下面是一个简单的示例,展示如何使用ESP32通过蓝牙连接手机应用,并控制LED灯的开关:
```cpp
#include <SoftwareSerial.h>
#include "Adafruit_BluefruitLE.h"
// ESP32蓝牙配置
const byte btRX = 0;
const byte btTX = 1;
Adafruit_BluefruitLE BLE(btRX, btTX);
BLE.begin();
// LED灯实例
const int ledPin = D1; // 设定LED灯引脚
void setup() {
Serial.begin(9600); // 打开串口调试
BLE.setAdvertisedName("ESP32 Light Control"); // 设置广告名称
BLE.setAdvertisedServiceUUID(SERVICE_UUID); // 服务UUID
pinMode(ledPin, OUTPUT); // 初始化LED为输出模式
}
void loop() {
if (BLE.connected()) { // 如果蓝牙已连接
String command = BLE.read(); // 获取接收到的数据
if (command == "on") { // 检查命令是否为"on"
digitalWrite(ledPin, HIGH); // 灯亮
Serial.println("Light turned on");
} else if (command == "off") { // 或者是"off"
digitalWrite(ledPin, LOW); // 灯灭
Serial.println("Light turned off");
} else {
Serial.println("Invalid command received.");
}
}
delay(50); // 暂停一段时间等待新数据
}
// 蓝牙服务UUID
#define SERVICE_UUID "180D" // 这是通用的蓝牙设备管理服务UUID
```
这个代码首先初始化了蓝牙功能并设置了一个广告名。当蓝牙设备连接后,它会读取从蓝牙接收的数据(这里假设为"on"或"off")。如果接收到的是"on",则点亮LED;如果是"off",则关闭LED。
阅读全文