使用 Bolt 和 Arduino 控制 LED 亮度
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 6 | |||
![]() |
| × | 6 | |||
![]() |
| × | 1 | |||
| × | 7 | ||||
![]() |
| × | 1 |
应用和在线服务
![]() |
| |||
![]() |
|
关于这个项目
说明
即使您不需要它或需要昏暗的灯光,在家中连续运行管灯不仅成本高昂,而且有时会刺激一个人。如果您能够通过指尖控制管灯的亮度,那就太棒了。是不是!今天这个项目将帮助您开发一个小型原型,以便您可以通过几个命令在家中控制您的灯管。在这里,我们将使用 Bolt 和 Arduino 控制最多六个 LED。使用 Arduino 单元上提供的 6 个 PWM 通道控制亮度。
收集所有必需的组件
项目所需的所有组件都在下面提到,并且很容易以合理的价格在市场上买到。
1. 螺栓

2. Arduino Uno

3. LED

4. 电阻(330 欧姆)

5.面包板

6. 跳线(公/公)

7. Arduino USB 线

螺栓
无论您身在何处,Bolt IoT 平台都使您能够安全可靠地控制您的设备并从 IoT 设备收集数据。只需点击几下即可部署机器学习算法来检测异常并预测传感器值,从而获得可操作的见解。要了解更多信息,请访问 boltiot.com。
脉宽调制
它用于控制数字信号的幅度,以控制需要电力或电力的设备和应用。从电压分量的角度来看,它本质上是通过快速循环数字信号的开启和关闭阶段并改变“开启”阶段或占空比的宽度来控制提供给设备的功率量。对于设备来说,这将表现为具有平均电压值的稳定电源输入,这是导通时间百分比的结果。在这里了解更多。
组装硬件
1. 收集所有组件并检查 LED 是否正常工作。
2. LED的阴极接GND线,阳极接330欧电阻。
3. 将电阻的另一端连接到 6 个 PWM 通道(即引脚 3、5、6、9、10 和 11)。
4.将Arduino的GND连接到面包板的GND线。
5.将Bolt的Tx和Rx分别连接到Arduino的Rx和Tx。
6、最后将bolt的5V脚接Arduino的5V脚,Bolt的GND接Arduino的GND。
注意:有关任何指导,请参阅示意图。






设置螺栓
1. 前往 cloud.boltiot.com 并注册创建一个帐户。
2. 在您的手机中下载 BoltIot 应用程序并登录您的帐户并添加您的新 Bolt 设备。详细了解如何添加螺栓装置。
3. 获取您的 Bolt 设备 ID,如下所示。

4. 要在云端获取您帐户的 API 密钥,请转到 API 并单击启用,如图所示。

注意:以上 API 密钥和 Bolt 设备 ID 非常重要,请勿与任何人共享。
API 和 Bolt 云 API
应用程序编程接口 (API) 是一组特定的规则(“代码”)和规范,软件程序可以遵循这些规则来相互通信。它充当不同软件程序之间的接口并促进它们的交互,类似于用户界面促进人机交互的方式。
Bolt Cloud API 为 Bolt 设备和任何 3rd 方系统之间的通信提供了一个接口,例如移动应用程序、网络服务器、python 程序等。API 包含非常直观的控制、监控、通信和实用功能,用于连接到您帐户的 Bolt 设备。
要使用 Bolt Cloud 的 API 调用,我们需要 Bolt 设备 ID 和我们之前获得的 API 密钥。来自 Web 浏览器的 API 调用的一般语法如下所示:
https://cloud.boltiot.com/remote/your_api_key/command?¶m1=...¶m2=...&deviceName=BOLTXXXXX
其中
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/restart?&deviceName=BOLT9161541
要了解更多信息,请单击此处。
Arduino代码
1. 从 GitHub 下载 boltiot-arduino-helper 库并添加到 Arduino 库中。点击这里下载。
2. 将下面提供的代码上传到 Arduino Uno。
注意:在上传之前删除 Bolt 和 Arduino 之间的 Tx 和 Tx 连接。
用于控制亮度的 API 调用
为了使用 API 调用控制 LED 亮度,我们将使用 Bolt Cloud 的 UART API。首先,通过给定的 serialBegin API 调用初始化 Bolt 和 Arduino 之间的串行通信:
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialBegin?baud=9600&deviceName=BOLT13819450
为了以一定的亮度打开 LED,我们将需要给定的 serialWrite API 调用:
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialWrite?data=ON
我们必须用 2 个参数替换
注意:这两个参数之间必须用' '(空格)字符分隔,也必须与数据变量的末尾分隔。
例如,如果您想控制引脚 3(即 LED 1)的 LED 亮度,PWM 值为 120,则 API 调用中的数据变量将为:
'data=ON 1 120'
注意:数据变量的末尾也有空格。
为了获得每个 serialWrite API 调用的响应,我们将在此之后使用 serialRead API。它是由:
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialRead?till=10&deviceName=BOLT8795377
注意:在所有上述 API 调用中,将 API 密钥和 Bolt 设备 ID 替换为您从 Bolt 帐户获得的 ID。
工作原理
工作原理很简单,Arduino不断检查从Bolt收到的串口命令。如果命令字符串与“ON”匹配,则执行相应的功能。
当它接收到 ON 命令后跟数据变量时,Arduino 首先存储来自数据变量的引脚编号和 PWM 值。 Arduino 然后检查引脚编号是否在范围内。如果没有,它会返回一个响应,说“pin 号应该是 b/w 1 和 6”。
如果一切正常,它会向具有相应 PWM 值的引脚执行模拟写入命令,以控制亮度。控制亮度后,它返回一个响应,说'"Pin
因此,通过这种方式,用户可以在给定时间控制最多 6 个 LED 的亮度。
代码
- LED 亮度控制
LED 亮度控制Arduino
#includeint pwm_pin[] ={3,5,6,9,10,11};String switchOn(String *data) { int pin =data[0].toInt (); int pwm =data[1].toInt(); if ((pin <1) || (pin> 6)) { return "pin number 应该是 b/w 1 and 6"; } 别针 -;模拟写入(pwm_pin[pin],pwm); return "Pin"+String(pin)+"was set to pwm value"+String(pwm);}void setup() { // 把你的设置代码放在这里,运行一次:pinMode(3,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(9,输出); pinMode(10,输出); pinMode(11,输出); boltiot.begin(串行); boltiot.setCommandString("ON",switchOn,2,' ');}void loop() { // 把你的主要代码放在这里,重复运行:boliot.handleCommand();}
示意图

制造工艺