主要内容

旋转编码器控制旋钮

这个例子展示了如何使用MATLAB®支持包Arduino®硬件控制12步旋转编码器和一个内置的按钮。

硬件需求

  • Arduino Uno董事会

  • SparkFun®12步旋转编码器与内置的按钮

硬件设置

旋转编码器Arduino硬件连接:

  • 常见的销C编码器连接到接地Arduino的硬件上销。

  • A和B连接输出编码器数字销2和3在Arduino硬件。

  • 地面销编码器连接到接地Arduino的硬件上销。

  • 连接编码器数字的按钮销销4 Arduino硬件上。

注意:如果您正在使用一个不同的比Uno Arduino电路板,而不是使用数字销2和3,使用任何的两个中断大头针在你的董事会。看到Arduino中断关于可用的更多信息中断大头针。

创建旋转编码器对象

创建一个arduino对象,包括“RotaryEncoder”图书馆。

一个= arduino (“COM4为”,“Uno”,“库”,“RotaryEncoder”)
更新服务器代码Uno (COM4为)。这可能需要几分钟。
= arduino的属性:端口:‘COM4为板:“Uno”AvailablePins: {‘D2-D13’,‘A0-A5} AvailableDigitalPins: {‘D2-D13’,‘A0-A5} AvailablePWMPins: {‘D3’,‘D5-D6’,‘D9-D11} AvailableAnalogPins: {“A0-A5”} AvailableI2CBusIDs:[0]库:{“RotaryEncoder”}

创建旋转编码器对象旋钮,指定连接输出通道和通道B。

channelA =“D2”;channelB =“D3”;编码器= rotaryEncoder (a channelA channelB)
编码器与属性= RotaryEncoder: ChannelA:“D2”ChannelB:“D3”PulsesPerRevolution: []

读旋钮的位置

旋转编码器已经12点位置为每个革命。每次点击4的数,增加或减少取决于它是旋转的方向。因此,旋钮的位置可以用整数0到44岁之间。

把旋钮起始位置,重置计数为0。

resetCount(编码器);

添加逻辑来显示按钮被按下时编码器的位置。如果unpressed,按钮销返回1。否则,它将返回0。

按钮=“D4”;configurePin(按钮,“引体向上”);(~ readDigitalPin(按钮))数= readCount(编码器);pos = mod(计数,48);流(目前的旋钮位置:% d \ n '、pos);暂停(1);结束
当前旋钮位置:0当前旋钮位置:42电流旋钮位置:24电流旋钮位置:22电流旋钮位置:4

清理

当不再需要连接,旋转编码器和arduino对象。

清晰的编码器一个
Baidu
map