KE2038 keyes brick 旋转编码器模块(焊盘孔) 防反插白色端子

  电子模块系列

1.概述

这个产品主要采用20脉冲旋转编码器元件。,它可通过旋转计数正方向和反方向转动过程中输出脉冲的次数,这种转动计数是没有限制的,复位到初始状态,即从0开始计数。如果我们只计算信号的脉冲,则可以使用两个输出中的任何一个来确定旋转位置。但是,如果我们想要确定旋转方向,我们需要同时考虑两个信号。

为了方面接线,我们还配送1根5pin线,线的一端为白色防反插接口(和模块上防反插白色端子匹配),另一端为5pin杜邦线母头接口。

模块兼容各种单片机控制板,如arduino系列单片机。使用时,我们可以在单片机上堆叠一个传感器扩展板。模块和自带导线连接,然后连接在传感器扩展板上,简单方便。同时,模块自带2个直径为3mm的定位孔,方便你将模块固定在其他设备。

2.规格参数

导线长度:200mm

工作电压:DC 3.3-5V

接口:间距为2.54mm 5pin防反接口

定位孔大小:直径为3mm

控制信号:数字信号

尺寸:35*22*30mm

重量:6.8g

3.连接图

KE2038-3

4.测试代码

const int interruptA = 0; //中断0就是在数字口2

const int interruptB = 1;//中断1就是在数字口3

int CLK = 2; // 定义数字口2

int DAT = 3; // 定义数字口3

int BUTTON = 4; // 定义数字口4

int LED1 = 5; // 定义数字口5

int LED2 = 6; // 定义数字口6

int COUNT = 0;//设置数字变量COUNT为0

void setup()

{

attachInterrupt(interruptA, RoteStateChanged, FALLING);

// 当数字口2由高电平变为低电平时,触发中断。

pinMode(CLK, INPUT);//设置CLK为输入

digitalWrite(2, HIGH); // 设置数字口2为高电平

pinMode(DAT, INPUT); //设置DAT为输入

digitalWrite(3, HIGH); //设置数字口3为高电平

pinMode(BUTTON, INPUT); //设置BUTTON为输入

digitalWrite(4, HIGH); //设置数字口4为高电平

pinMode(LED1, OUTPUT);//设置LED1为输出

pinMode(LED2, OUTPUT);//设置LED1为输出

Serial.begin(9600); //设置波特率

}

void loop()

{

if (digitalRead(BUTTON)==LOW)//当数字口4为低电平时

{

COUNT = 0; //设置数字变量COUNT为0

Serial.println(“STOP COUNT = 0”);//显示对于内容

analogWrite(LED1, 0);//LED1变暗

analogWrite(LED2, 0);//LED2变暗

delay (2000);//延迟2S

}

Serial.println(COUNT);//显示COUNT数据

}

void RoteStateChanged() //当数字口2由高电平变为低电平时

{

if (digitalRead(DAT)==HIGH) // 当数字口3为高电平时

{

COUNT++;//数字变量COUNT加1

analogWrite(LED1, 255);//LED1亮起

analogWrite(LED2, 0);//LED2变暗

delay(200);//延迟0.2S

}

else

{

COUNT–;//数字变量COUNT减1

analogWrite(LED2, 255);//LED2亮起

analogWrite(LED1, 0);//LED1变暗

delay(200);//延迟0.2S

}

}

5.测试结果

烧录好测试代码,按照接线图连接好线;上电后,我们可以通过旋转旋转编码器,可以随意双色LED模块上LED显示不同颜色,按下编码器按键双色LED模块上LED熄灭。