Grove-Encoder

简介

Grove – Encoder 是一个增量旋转编码器。它将轴的旋转信号编码成电子脉冲输出信号。这个模块也属于Grove系列,有标准的Grove接口。

当您的项目需要添加一个旋钮时,比如说音量旋钮,数字旋钮等,这个产品是一个不错的选择。

产品特性


  • 增量式编码器
  • Grove接口
  • 360度旋转

Tips

  • 关于Grove接口的更多信息请参考下面链接Grove System

规格参数

项目 最小值 典型值 最大值 单位
电压 4.5 5 5.5 V
电流 10 20 30 mA
尺寸 20x 20 mm
净重 12 g

平台支持

Intel Edison (with the seeedstudio library)

Arduino101 (with the community library)

入门指导

开始之前

如果您是第一次安装Arduino库文件,请点击 这里 查看库文件的安装方法。

Grove-Encoder 使用的为seeedstudio编写的库简单易用,首先请点击后面的库名下载库 seeedstudio Encoder Lib, 或者点击这里community GroveEncoder library. 然后只需要把它接在BaseShield的D2接口上,你就可以开始使用了.

环形LED灯条示例


  • 1.

接下来的这个示例,就是展示了如何操做一个圆形的LED灯条。 这个圆形的LED灯条由Encoder和 Grove-CircularLED (可点击查看)两个模块组成 。将这两个模块按照下图所示连接起来:

  • 2.

这个项目需要先点击安装下面这几个库: TimerOne Lib 库、 Encoder Lib 库和 CircularLED Library库 。下载完上面几个库后安装在你的Arduino IDE上。

  • 3.

重启并打开Arduino IDE,打开 File->Examples->Encoder->EncodeCircuiBar。代码如下所示

#include <CircularLED.h>
#include <Encoder.h>
#include <TimerOne.h>
CircularLED circularLED;
unsigned int LED[24];
int index_LED;
void setup()
{
  encoder.Timer_init();
}
void loop()
{
    if (encoder.rotate_flag ==1)
  {
    if (encoder.direct==1)
    {
      index_LED++;
      if (index_LED>23)
      index_LED=24;
      SenttocircularBar(index_LED);
    }
     else
     {
      index_LED--;
      if(index_LED<0)
      index_LED=0;
      SenttocircularBar(index_LED);
     }
    encoder.rotate_flag =0;
  }
}
void SenttocircularBar(int index)
{
  for (int i=0;i<24;i++)
  {
    if (i<index)
    {
      LED[i]=0xff;
    }
    else
    LED[i]=0;
  }
  circularLED.CircularLEDWrite(LED);
}
  • 4.

下载代码到您的Arduino或Seeeduino板子里。效果如下图所示。如果您不清楚怎么下载代码,请点击这里

!!!注意

当Grove – Encoder 被按下时,也会产生一个信号,但是基于Grove线的限制,并没有将该信号引出来。

原理图在线预览

资料下载