Bolt IoT + Arduino UNO 实现 6 路 LED 无级调光
组件与材料
| Bolt WiFi 模块 | ×1 |
| Arduino UNO | ×1 |
| LED | ×6 |
| 330 Ω 电阻 | ×6 |
| 半孔面包板、公对公跳线、USB 线 | 若干 |
软件与云平台
- Arduino IDE、Bolt Cloud (cloud.boltiot.com)
项目原理
利用 Bolt 模块的 UART 透传功能,通过 Bolt Cloud API 向 Arduino 发送指令,Arduino 解析后在 6 个 PWM 引脚 (D3,5,6,9,10,11) 输出对应占空比,实现远程无级调光。
硬件接线
- 6 只 LED 阳极经 330Ω 接 D3,5,6,9,10,11;阴极共地
- Bolt TX → Arduino RX (D0),Bolt RX → Arduino TX (D1)
- Bolt 5V/GND 与 Arduino 5V/GND 并联供电

Bolt Cloud 配置
- 注册账号、添加设备、获取 Device ID 与 API Key
- API 调用格式:
https://cloud.boltiot.com/remote/<API_KEY>/<command>?deviceName=<DEVICE_ID>
关键 API 调用
- 初始化串口:
serialBegin?baud=9600 - 开启 LED:
serialWrite?data=ON 1 120(Pin 1=D3, PWM=120,末尾必须有空格) - 读取响应:
serialRead?till=10
Arduino 代码
#include <BoltIoT-Arduino-Helper.h>
int pwm_pin[] = {3,5,6,9,10,11};
String switchOn(String *data) {
int pin = data[0].toInt(); // 1-6
int pwm = data[1].toInt(); // 0-255
if (pin < 1 || pin > 6) return "pin number should be b/w 1 and 6";
pin--;
analogWrite(pwm_pin[pin], pwm);
return "Pin " + String(pin) + " was set to pwm value " + String(pwm);
}
void setup() {
for (int p : pwm_pin) pinMode(p, OUTPUT);
boltiot.begin(Serial);
boltiot.setCommandString("ON", switchOn, 2, ' '); // 命令 "ON" 后跟 2 个参数,空格分隔
}
void loop() {
boltiot.handleCommand();
}
工作流程
- Arduino 持续监听串口
- 收到 “ON <pin> <pwm> ” 解析参数
- 校验引脚范围,执行
analogWrite - 返回执行结果字符串供 Bolt Cloud 读取
原理图
制造工艺
- 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
- Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
- 基于Arduino UNO的精准频率与占空比测量
- 智能自系鞋带鞋:内置压电发电与计步功能
- Arduino 声纳实时测距与 Processing 可视化
- Arduino + MPU6050 姿态控制舵机:SG90 与 MG996R 精准跟随实战
- DIY 智能 Arduino 机械臂:主从控制与动作记忆教程
- Arduino 8×8 LED 矩阵翻页时钟 - DIY 实时时钟项目
- Arduino Uno驱动MAX7219级联8×8 LED矩阵:从入门到动画显示
- 使用 Arduino Nano 和 RDA8057M 制作紧凑型 FM 收音机
- DIY LED 轮盘赌游戏机 —— Arduino Nano 打造单人桌面街机
- CNC 加工:材料与零部件的精密制造