我们将使用 “Arduino 预设模版” 为 Arduino 添加一个 LED 积木,来控制 Arduino 的 LED。外接 LED 来自 Seeed Studio 推出的 Grove 初学者套件,但你也可以使用其他电子套件的 LED 模块。

对比

关于 Arduino LED 灯的案例,使用“通用模版”进行开发的旧案例可以参考:【Arduino 扩展】为 Arduino 编写 LED 扩展(通用模板),以便你更加清晰 “Arduino 预设模版”在开发 Arduino 扩展上的优势。

扩展开发步骤

1、通过 Arduino 预设模板创建扩展

选择“我的插件” > “我的扩展”,点击“新建扩展”,在弹出的模板选择对话框中选择“Arduino 预设模板”,然后点击确定。
选择模板.png
在弹出的对话框中填写扩展名称,然后点击“确定”。
image.png

2、扩展配置

接下来开始配置扩展的第一个积木分类的第一个积木块。
image.png

输入积木文案

在“内容”处输入积木文案,接口和 LED 状态我们想通过下拉框进行选择,通过输入“空格+@”配置。

image.png

配置下拉框参数

配置第一个下拉框:接口。分别设置“参数名”,“参数默认值”和“下拉框参数”。Seeed Grove 套件的 LED 可以连接到 Arduino UNO 开发板上的 D1-D8 口。

:::info 注:点击“+”可批量设置参数。 ::: image.png
image.png
配置第二个下拉框:LED 状态。
image.png

3、转码配置

在“上传转码”区域,进行如下几项代码配置:

  • declare:此处代码出现在 setup() 前,用于声明变量
  • setup:此处代码会嵌入 Arduino ONCE 中的 setup() 函数
  • code:此处代码会出现在该积木块使用的地方
  • loop:此处代码会嵌入 Arduino ONCE 中的 loop() 函数

image.png
通过查阅 Grove 套件的文档,其中的 LED 提供了以下的 Arduino 示例代码:

  1. void setup() {
  2. // initialize digital pin2 as an output.
  3. pinMode(2, OUTPUT);
  4. }
  5. // the loop function runs over and over again forever
  6. void loop() {
  7. digitalWrite(2, HIGH); // turn the LED on (HIGH is the voltage level)
  8. delay(1000); // wait for a second
  9. digitalWrite(2, LOW); // turn the LED off by making the voltage LOW
  10. delay(1000); // wait for a second
  11. }

根据上述代码,我们需要进行如下操作:

  • setup 需要用到 pinMode
  • code 需要用到 digitalWrite
  • 用 /{port}/ 指代接口下拉框的值

image.png
然后,点击“保存”。

现在,可以点击界面右上角的“预览”测试刚刚添加的积木啦!