![Arduino Nano和Visuino:在EEPROM中保存旋转编码器值:11个步骤(带图片) Arduino Nano和Visuino:在EEPROM中保存旋转编码器值:11个步骤(带图片)](https://img.gwsigeps.com/img/circuits/arduino-nano-and-visuino-save-rotary-encoder-value-in-eeprom-10.jpg)
目录:
- 供应:
- 第1步:组件
- 第2步:将旋转编码器连接到Arduino
- 第3步:启动Visuino,然后选择Arduino Board Type
- 步骤4:在Visuino中:添加整数EEPROM元素,并将数字4引脚设置为上拉
- 步骤5:在Visuino中:添加,配置和连接旋转编码器组件
- 步骤6:在Visuino中:添加/减少计数器组件,并在其中设置值元素
- 步骤7:在Visuino中:连接向上/向下计数器组件
- 步骤8:在Visuino中:添加并连接去抖按钮和逆变器组件
- 步骤9:在Visuino中:添加并连接Start和Clock Multi Source Components
- 第10步:生成,编译和上传Arduino代码
- 第11步:玩…
Visuino 包括在内 EEPROM 支持相当一段时间,但我从来没有机会写一篇关于它的教程。最近很少有人请求帮助使用 EEPROM所以我决定做一个。
在本教程中,我将向您展示使用Arduino是多么容易 EEPROM 保存值,以便下次Arduino关闭后可以使用它们。
供应:
第1步:组件
- 一 Arduino的 兼容板(我使用Arduino Nano,因为我有一个,但任何其他都会很好)
- 一 旋转编码器 模块我从这个便宜的37传感器套件中获得。
- 5 女 - 女 跳线
第2步:将旋转编码器连接到Arduino
- 连 地面(黑丝), 功率(红线), 方向(绿线), 时钟(黄线)和 开关 (白线)到 旋转编码器 模块(图片1)
- 连接另一端 接地线(黑丝) 至 地面 针的 Arduino的 板(图2)
- 连接另一端 电源线(红线)到 5V 电源引脚 Arduino的 板(图2)
- 连接 时钟线(黄线) 至 数字引脚2 的 Arduino的 板(图3)
- 连接 方向线(绿线) 至 数字引脚3 的 Arduino的 板(图3)
- 连接 切换线(白线) 至 数字引脚4 的 Arduino的 板(图3)
- 图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也需要安装。
- 开始 Visuino 如图所示 第一张照片
- 点击“工具“Arduino组件上的按钮(图片1)in Visuino
- 出现对话框时,选择 Arduino Nano 如图所示 图2
步骤4:在Visuino中:添加整数EEPROM元素,并将数字4引脚设置为上拉
要使用 EEPROM Arduino组件的模块,我们需要在其中添加元素来存储值。我们可以添加不同类型的多个元素。在我们的例子中,因为我们将存储整数数据,我们将添加 整数元素。另外,我使用的旋转编码器的按钮(开关)没有内置的上拉电阻,所以我们将启用Arduino上拉电阻 数字引脚4 按钮连接的位置:
- 在Object Inspector中,展开“模块“财产,然后扩大”EEPROM“子属性,然后点击”…“按钮旁边的值”分子“财产(图片1)
- 在里面 ”分子“编辑选择”整数“,然后点击”+“按钮添加一个整数元素(图2)
- 关上 ”分子对话
- 在Object Inspector中,展开“数字“财产,然后扩大”数字4“,然后设置”的价值“拉起来了“财产来”真正' (图3)
步骤5:在Visuino中:添加,配置和连接旋转编码器组件
要从Rotary Encoder读取数据,我们将添加并连接一个 Visuino 零件:
- 输入“旋转“在组件工具箱的过滤器框中,然后选择”旋转编码器传感器“ 零件 (图片1),并将其放在设计区域
- (可选)在Object Inspector中,设置“去抖间隔“财产来”5' (图2这将抑制某些旋转编码器的弹跳噪音。如果您的编码器没有噪音,您可以将此属性的值保留为“0'.
- 连接“退房“的针脚 数字2 的渠道 Arduino的 组件到“时钟(A)“的针脚 RotaryEncoderSensor1 (图3)
- 连接“退房“的针脚 数字3 的渠道 Arduino的 组件到“方向(B)“的针脚 RotaryEncoderSensor1 (图4)
步骤6:在Visuino中:添加/减少计数器组件,并在其中设置值元素
我们将添加一个计数器来计算来自旋转编码器的脉冲。我们还需要设置一个值 EEPROM 电源打开时进入计数器。为此,我们需要添加“设定值“计数器的元素,并为其Value属性添加pin:
- 输入“计数“在组件工具箱的过滤器框中,然后选择”上/下计数器“ 零件 (图片1),并将其放在设计区域
- 点击“工具“按钮 UpDownCounter1 零件 (图2)
- 在里面 ”分子“编辑选择”设定值“元素,然后点击”+“左边的按钮添加”设定值“元素(图3)
- 在Object Inspector中单击 销 前面的按钮“值“财产(图4),并选择“整数SinkPin' (图5)
- 关上 ”分子对话。
步骤7:在Visuino中:连接向上/向下计数器组件
- 连接“向上“的针脚 RotaryEncoderSensor1 组件到“向上“的针脚 UpDownCounter1 零件 (图片1)
- 连接“下“的针脚 RotaryEncoderSensor1 组件到“下“的针脚 UpDownCounter1 零件 (图2)
- 连接“退房“针脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 组件到“值“输入引脚”Elements.Set Value1“元素 UpDownCounter1 零件 (图3)
- 连接“退房“的针脚 UpDownCounter1 组件到“在“输入引脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 零件 (图4)
- 连接“退房“的针脚 UpDownCounter1 组件到“在“输入引脚”串行0“通道 Arduino的 零件 (图5)
步骤8:在Visuino中:添加并连接去抖按钮和逆变器组件
我们将使用的Button(Switch) 旋转编码器 (按下轴)将计数器的当前值保存到 EEPROM。由于按钮的默认值为True,按下时值为False,我们将反转它。按下或释放按钮时通常会产生弹跳噪音。我已经制作了关于如何消除噪音的教程,在这里我们将使用相同的去抖按钮组件来消除噪音:
- 输入“按键“在组件工具箱的过滤器框中,然后选择”去抖按钮“ 零件 (图片1),并将其放在设计区域
- 输入“倒置“在组件工具箱的过滤器框中,然后选择”布尔变频器(不是)“ 零件 (图2),并将其放在设计区域
- 连接“退房“的针脚 数字4 的渠道 Arduino的 组件到“在“的针脚 Button1的 零件 (图3)
- 连接“退房“的针脚 Button1的 组件到“在“的针脚 Inverter1 零件 (图4)
- 连接“退房“的针脚 Inverter1 组件到“记得“输入引脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 零件 (图5)
步骤9:在Visuino中:添加并连接Start和Clock Multi Source Components
我们想加载存储在中的值 EEPROM 一旦Arduino代码开始执行就进入计数器。为此,我们可以使用“开始“组件。当Arduino代码开始执行时,它会生成一个时钟事件。我们还想首先加载Set Value元素的值,然后将该值设置为计数器。为此,我们需要按特定顺序发生事件我们可以使用“时钟多源“按指定顺序生成多个事件:
- 输入“开始“在组件工具箱的过滤器框中,然后选择”开始“ 零件 (图片1),并将其放在设计区域
- 输入“时钟“在组件工具箱的过滤器框中,然后选择”时钟多源“ 零件 (图2),并将其放在设计区域
- 连接“退房“的针脚 START1 组件到“在“输入引脚 ClockMultiSource1 零件 (图3)
- 连接“针0“输出引脚 ClockMultiSource1 组件,到“召回“输入引脚”Modules.EEPROM.Elements.Integer1“元素 Arduino的 零件 (图4)
- 连接“针1“输出引脚 ClockMultiSource1 组件,到“在“输入引脚”Elements.Set Value1“元素 UpDownCounter1 零件 (图5)
第10步:生成,编译和上传Arduino代码
- 在 Visuino, 按 F9 或单击上显示的按钮 图片1 生成Arduino代码,并打开Arduino IDE
- 在里面 Arduino IDE,点击 上传 按钮,编译和上传代码(图2)
第11步:玩…
您可以看到已连接并正在运行的项目 图片1.
上 图2 你可以看到完整的 Visuino 图。
- 如果你打开 串行终端 在里面 Arduino IDE 要么 Visuino,您将看到计数器的初始值被重置为零(或者存储在其中的任何内容) EEPROM 之前)(图3)
- 如果你旋转 旋转编码器,你会看到计数器值的变化(图4)
- 如果按下轴 旋转编码器 down,计数器的当前值将保存到 EEPROM
- 如果您关闭Arduino电源,然后重新启动它并连接它 串行终端,您将看到计数器将使用保存的值进行初始化 EEPROM (图5)在我的情况下将立即改变 0 至 23 (我保存的值 EEPROM)
- 您可以通过旋转来继续更改计数器 旋转编码器 (图6)
恭喜! 您已经学会了如何在Arduino中读取和写入值 EEPROM 同 Visuino.
还附上了 Visuino 我为这个Instructable创建的项目。您可以下载并打开它 Visuino:http://www.visuino.com