Puzzle - Encoder 编码器

来自Duinopeak_COM
跳转至: 导航搜索

产品简介

这个模块是一种增量式旋转编码器。它从编码旋转轴的角度和通过电子脉冲输出信号。Puzzle–编码器是电子积木系列之一拥有一个标准接口。当您需要添加一个旋转旋钮到您的项目时,比如说扬声器的音量调节,一个选择通道或数字输入,这个编码器将是你的首选。

Puzzle Encoder top.jpgPuzzle Encoder back.jpg


特征

  • 增量式编码
  • 电子积木接口
  • 360度旋转

规范说明

Item Min Typical Max Unit
Voltage 4.5 5 5.5 VDC
Current 10 20 30 mA
Dimension 20x 20 mm
Net Weight 12 g

用途

这个Puzzle编码器是非常容易使用和duinofun设计的编码器库。此模块连接到基础扩展板D2数字端口(因为这里使用到了Arduino的外部中断),你就可以开始使用。下面是一个介绍如何使一个圆形LED灯盘。圆形LED灯盘由一个编码器和一个Puzzle-CircularLED模块。两个模块连接到基础扩展板,如下图:

Puzzle Encoder connection.jpg


在项目中,TimeOne库和Encoder库还有CircularLED库都是需要的,下载所有的库并且把他们安装到你的ArduinoIDE 下的libraries文件夹下面。

重启ArduinoIDE并且打开example通过下面指示:File->Examples->Encoder->EncodeCircuiBar.

#include <CircularLED.h>
#include <Encoder.h>
#include <TimerOne.h>
CircularLED circularLED9(10,9);
Encoder encoder;
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);
}

上传代码到你的 Arduino/duinofun, 请参考Arduino之入门篇 .
300
Note: 旋转编码器被按下时,还能产生一个另外的信号,由于电子积木接口的限制,并没有引出这个信号出来。


资源


Puzzle - Encoder 编码器原理图PDF: 文件:Puzzle Encoder schematic.pdf

Puzzle - Encoder 编码器TimeOne库: 文件:TimerOne.zip

Puzzle - Encoder 编码器Encoder库: 文件:Encoder.zip

Puzzle - Encoder 编码器CircularLED库: 文件:CircularLED.zip

Puzzle - Encoder 编码器特性文档: 文件:Encoder specification.zip


如何购买

Duinopeak 官方淘宝商城
Encoder 编码器购买链接
圆形LED购买链接


支持

如果你有什么建议或者好的点子, 你可以来我们的DuinoPeak论坛参与讨论.

外部链接

链接到外部网页将会给你提供更多应用创意,文档/数据表或软件库

视频