Arduino Nano和Visuino:在EEPROM中保存旋转编码器值:11个步骤(带图片)

Arduino Nano和Visuino:在EEPROM中保存旋转编码器值:11个步骤(带图片)

目录:

Anonim

Visuino 包括在内 EEPROM 支持相当一段时间,但我从来没有机会写一篇关于它的教程。最近很少有人请求帮助使用 EEPROM所以我决定做一个。

在本教程中,我将向您展示使用Arduino是多么容易 EEPROM 保存值,以便下次Arduino关闭后可以使用它们。

供应:

第1步:组件

  1. Arduino的 兼容板(我使用Arduino Nano,因为我有一个,但任何其他都会很好)
  2. 旋转编码器 模块我从这个便宜的37传感器套件中获得。
  3. 5 女 - 女 跳线

第2步:将旋转编码器连接到Arduino

  1. 地面(黑丝), 功率(红线), 方向(绿线), 时钟(黄线)和 开关 (白线)到 旋转编码器 模块(图片1)
  2. 连接另一端 接地线(黑丝) 至 地面 针的 Arduino的 板(图2)
  3. 连接另一端 电源线(红线)到 5V 电源引脚 Arduino的 板(图2)
  4. 连接 时钟线(黄线) 至 数字引脚2Arduino的 板(图3)
  5. 连接 方向线(绿线) 至 数字引脚3Arduino的 板(图3)
  6. 连接 切换线(白线) 至 数字引脚4Arduino的 板(图3)
  7. 图4 显示在哪里 地面, 5V 功率, 数字2,数字3数字4 的针脚 Arduino Nano.

第3步:启动Visuino,然后选择Arduino Board Type

要开始编程Arduino,你需要拥有 Arduino IDE 从这里安装:http://www.arduino.cc/。

确保安装1.6.7或更高版本,否则此Instructable将无法正常工作!

Visuino:http://www.visuino.com也需要安装。

  1. 开始 Visuino 如图所示 第一张照片
  2. 点击“工具“Arduino组件上的按钮(图片1)in Visuino
  3. 出现对话框时,选择 Arduino Nano 如图所示 图2

步骤4:在Visuino中:添加整数EEPROM元素,并将数字4引脚设置为上拉

要使用 EEPROM Arduino组件的模块,我们需要在其中添加元素来存储值。我们可以添加不同类型的多个元素。在我们的例子中,因为我们将存储整数数据,我们将添加 整数元素。另外,我使用的旋转编码器的按钮(开关)没有内置的上拉电阻,所以我们将启用Arduino上拉电阻 数字引脚4 按钮连接的位置:

  1. 在Object Inspector中,展开“模块“财产,然后扩大”EEPROM“子属性,然后点击”“按钮旁边的值”分子“财产(图片1)
  2. 在里面 ”分子“编辑选择”整数“,然后点击”+“按钮添加一个整数元素(图2)
  3. 关上 ”分子对话
  4. 在Object Inspector中,展开“数字“财产,然后扩大”数字4“,然后设置”的价值“拉起来了“财产来”真正' (图3)

步骤5:在Visuino中:添加,配置和连接旋转编码器组件

要从Rotary Encoder读取数据,我们将添加并连接一个 Visuino 零件:

  1. 输入“旋转“在组件工具箱的过滤器框中,然后选择”旋转编码器传感器“ 零件 (图片1),并将其放在设计区域
  2. (可选)在Object Inspector中,设置“去抖间隔“财产来”5' (图2这将抑制某些旋转编码器的弹跳噪音。如果您的编码器没有噪音,您可以将此属性的值保留为“0'.
  3. 连接“退房“的针脚 数字2 的渠道 Arduino的 组件到“时钟(A)“的针脚 RotaryEncoderSensor1 (图3)
  4. 连接“退房“的针脚 数字3 的渠道 Arduino的 组件到“方向(B)“的针脚 RotaryEncoderSensor1 (图4)

步骤6:在Visuino中:添加/减少计数器组件,并在其中设置值元素

我们将添加一个计数器来计算来自旋转编码器的脉冲。我们还需要设置一个值 EEPROM 电源打开时进入计数器。为此,我们需要添加“设定值“计数器的元素,并为其Value属性添加pin:

  1. 输入“计数“在组件工具箱的过滤器框中,然后选择”上/下计数器“ 零件 (图片1),并将其放在设计区域
  2. 点击“工具“按钮 UpDownCounter1 零件 (图2)
  3. 在里面 ”分子“编辑选择”设定值“元素,然后点击”+“左边的按钮添加”设定值“元素(图3)
  4. 在Object Inspector中单击 前面的按钮““财产(图4),并选择“整数SinkPin' (图5)
  5. 关上 ”分子对话。

步骤7:在Visuino中:连接向上/向下计数器组件

  1. 连接“向上“的针脚 RotaryEncoderSensor1 组件到“向上“的针脚 UpDownCounter1 零件 (图片1)
  2. 连接““的针脚 RotaryEncoderSensor1 组件到““的针脚 UpDownCounter1 零件 (图2)
  3. 连接“退房“针脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 组件到““输入引脚”Elements.Set Value1“元素 UpDownCounter1 零件 (图3)
  4. 连接“退房“的针脚 UpDownCounter1 组件到““输入引脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 零件 (图4)
  5. 连接“退房“的针脚 UpDownCounter1 组件到““输入引脚”串行0“通道 Arduino的 零件 (图5)

步骤8:在Visuino中:添加并连接去抖按钮和逆变器组件

我们将使用的Button(Switch) 旋转编码器 (按下轴)将计数器的当前值保存到 EEPROM。由于按钮的默认值为True,按下时值为False,我们将反转它。按下或释放按钮时通常会产生弹跳噪音。我已经制作了关于如何消除噪音的教程,在这里我们将使用相同的去抖按钮组件来消除噪音:

  1. 输入“按键“在组件工具箱的过滤器框中,然后选择”去抖按钮“ 零件 (图片1),并将其放在设计区域
  2. 输入“倒置“在组件工具箱的过滤器框中,然后选择”布尔变频器(不是)“ 零件 (图2),并将其放在设计区域

  3. 连接“退房“的针脚 数字4 的渠道 Arduino的 组件到““的针脚 Button1的 零件 (图3)
  4. 连接“退房“的针脚 Button1的 组件到““的针脚 Inverter1 零件 (图4)
  5. 连接“退房“的针脚 Inverter1 组件到“记得“输入引脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 零件 (图5)

步骤9:在Visuino中:添加并连接Start和Clock Multi Source Components

我们想加载存储在中的值 EEPROM 一旦Arduino代码开始执行就进入计数器。为此,我们可以使用“开始“组件。当Arduino代码开始执行时,它会生成一个时钟事件。我们还想首先加载Set Value元素的值,然后将该值设置为计数器。为此,我们需要按特定顺序发生事件我们可以使用“时钟多源“按指定顺序生成多个事件:

  1. 输入“开始“在组件工具箱的过滤器框中,然后选择”开始“ 零件 (图片1),并将其放在设计区域
  2. 输入“时钟“在组件工具箱的过滤器框中,然后选择”时钟多源“ 零件 (图2),并将其放在设计区域

  3. 连接“退房“的针脚 START1 组件到““输入引脚 ClockMultiSource1 零件 (图3)
  4. 连接“针0“输出引脚 ClockMultiSource1 组件,到“召回“输入引脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 零件 (图4)
  5. 连接“针1“输出引脚 ClockMultiSource1 组件,到““输入引脚”Elements.Set Value1“元素 UpDownCounter1 零件 (图5)

第10步:生成,编译和上传Arduino代码

  1. Visuino, 按 F9 或单击上显示的按钮 图片1 生成Arduino代码,并打开Arduino IDE
  2. 在里面 Arduino IDE,点击 上传 按钮,编译和上传代码(图2)

第11步:玩…

您可以看到已连接并正在运行的项目 图片1.

图2 你可以看到完整的 Visuino 图。

  1. 如果你打开 串行终端 在里面 Arduino IDE 要么 Visuino,您将看到计数器的初始值被重置为零(或者存储在其中的任何内容) EEPROM 之前)(图3)
  2. 如果你旋转 旋转编码器,你会看到计数器值的变化(图4)
  3. 如果按下轴 旋转编码器 down,计数器的当前值将保存到 EEPROM
  4. 如果您关闭Arduino电源,然后重新启动它并连接它 串行终端,您将看到计数器将使用保存的值进行初始化 EEPROM (图5)在我的情况下将立即改变 023 (我保存的值 EEPROM)
  5. 您可以通过旋转来继续更改计数器 旋转编码器 (图6)

恭喜! 您已经学会了如何在Arduino中读取和写入值 EEPROMVisuino.

还附上了 Visuino 我为这个Instructable创建的项目。您可以下载并打开它 Visuino:http://www.visuino.com