【Arduino】旋转编码器的Arduino使用方法 – Alex Leo

在使用CRT显示器之前,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,它比多个按钮要方便得多。。

鼠标滚轮也是这种操作方法。,旋转 点击,只是不同的方向。最近在网上买了旋转编码器模块,我想在实际生产中使用它。。在网上寻找大量的信息,测试发现代码或多或少有问题。。于是决定自己研究一下旋转编码器的原理,只有高和低的水平应该相对简单。。

我买的旋转编码器模块有5个引脚,VCC分别, GND, SW, CLK, DT。其中,VCC和GND被用来连接电源和接地。,缩写SW应该是开关(开关)。、时钟是时钟(时钟)、DT是数据(数据)。

网上的信息不太理想。,但是引进的基本原则是没有问题的。。旋转编码器的操作是旋转和按压转轴,当转轴受到挤压时,SW销的水平会发生变化。,当旋转时,CLK和dt的水平随着每次转动而有规律地变化。。在只有电源的情况下,首先测量中的铅水平的变化,没有示波器,电压必须用万用表测量。。

点击:SW(红色) 接地(黑色),按下和释放按钮没有任何变化。,VCC(红色) SW(黑色)在0释放,高压时按压。可以推断,SW通常是一个高阻抗状态。,接地时,压。用Arduino检测的方法是设置连接SW的引脚为INPUT并上拉输出高电平,当针低时,按钮被按下。,下面的代码可以正确地检测按钮的变化。

//定义引脚连接int SW= 4;  // SW->D4bool lastButtonStatus = false;
 
void setup()
{
  pinMode(SW, 输入)
  digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。
  (9600);
}
 
void loop()
{
  bool buttonStatus = !digitalRead(SW);//高压不压,国家是假的if (buttonStatus != lastButtonStatus)
  {
    (buttonStatus ? "pressed" : "released");
    lastButtonStatus = buttonStatus;//保存当前状态  }
  delay(100);
}

旋转:时钟(红色) 接地(黑色),一次旋转(不考虑方向),电平转换一次,DT(红色) 接地(黑色),这种变化与以前的情况是一致的。,CLK和dt的水平是一致的。。VCC(红色) 时钟(黑色),同样的VCC(红色) dt(黑色)也是如此。。时钟(红色) dt(黑色)或CLK(黑色) dt(红色),每一个旋转(和方向无关),指针轻微摆动。,两个相邻指针的方向相反。。结论:时钟和DAT引脚的水平变化每次他们旋转,水平变化有时差,但是你不知道它会旋转哪个方向。。

编写测试代码,按下按钮时,读取时钟和dt的值。:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5 6void setup()
 7{
 8  pinMode(SW, 输入)
 9   digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。10  pinMode(CLK, 输入)
11  pinMode(DT, 输入)
12   (9600);
13}
1415void loop()
16{
17if (!digitalRead(SW)) //当按下按钮时,读取CLK和dt的值。18  {
19int clkValue = digitalRead(CLK);//读取CLK引脚的电平20int dtValue = digitalRead(DT);//读取dt引脚的级别21     Serial.print("CLK:");
22    Serial.print(clkValue);
23     Serial.print("; DT:");
24    (dtValue);
25     delay(1000);
26  }
27 }

测试发现顺时针或逆时针旋转。,在按下每个按钮后,CLK和dt值是一样的。,两个相邻步骤之间的值是不同的。,符合用万用表测量的结果。

CLK和DT测试表明,有一定的时间差,可以用Arduino在CLK电平变化的瞬间读取DT的值,也许你会找到法律。通过中断0改变时钟上的电平变化,读取时钟和dt的电平值:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 5 6void setup()
 7{
 8  pinMode(CLK, 输入)
 9  pinMode(DT, 输入)
10   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发11   (9600);
12}
1314void loop()
15{
16}
1718//中断处理函数19void ClockChanged()
20{
21int clkValue = digitalRead(CLK);//读取CLK引脚的电平22int dtValue = digitalRead(DT);//读取dt引脚的级别23   Serial.print("CLK:");
24  Serial.print(clkValue);
25   Serial.print("; DT:");
26  (dtValue);
27 }

顺时针旋转一步:

顺时针旋转3步(水平线分隔):

逆时针旋转3步(水平线分隔):

根据以上测试结果,每个旋转触发的中断数是不一致的。,这可能是硬件本身造成的。,类似按键抖动。经过多次试验,查看每个更改的最后一组值,时钟和dt的值在顺时针旋转时不一致。,CLK和DT的价值观是一致的逆时针旋转。修改代码,按顺时针方向将计数加1。,计数器计数1计数器计数,按下按钮,时钟计数清零。。

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 6int count = 0;//计数值 7int lastCLK = 0;//时钟的历史价值 8 9void setup()
10{
11  pinMode(SW, 输入)
12  digitalWrite(SW, 高)
13  pinMode(CLK, 输入)
14  pinMode(DT, 输入)
15   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发16   (9600);
17}
1819void loop()
20{
21if (!digitalRead(SW) && count != 0) //向下读取按钮,计数值不是0,计数器清零。22  {
23     count = 0;
24     Serial.print("count:");
25    (计数)
26  }
27}
2829//中断处理函数30void ClockChanged()
31{
32int clkValue = digitalRead(CLK);//读取CLK引脚的电平33int dtValue = digitalRead(DT);//读取dt引脚的级别34if (lastCLK != clkValue)
35  {
36     lastCLK = clkValue;
37     count += (clkValue != dtValue ? 1 : -1);//当时钟和dt是不一致的,  1,另有138     Serial.print("count:");
39    (计数)
40  }
41 }

测试发现,大多数情况下您可以正确输出。:


偶尔的旋转不是很平稳,会是跳跃的情况。,在这一点上,你可以感觉到两个步骤之间的旋钮。。有人说最好是在针之间接上滤波电容。,实际测试没有发现改进。。推测因为旋钮是D,当你转动你的手时,它会弹跳。,你应该避免这个当你把一个旋钮帽。

旋转编码器可以用于需要精确调整值(电位器不准确),操作菜单及其他场合。后续会使用旋转编码器制作一些小东西,也欢迎大家分享旋转编码器相关代码。

【Arduino】旋转编码器的Arduino使用方法 – Alex Leo

在使用CRT显示器之前,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,它比多个按钮要方便得多。。

鼠标滚轮也是这种操作方法。,旋转 点击,只是不同的方向。最近在网上买了旋转编码器模块,我想在实际生产中使用它。。在网上寻找大量的信息,测试发现代码或多或少有问题。。于是决定自己研究一下旋转编码器的原理,只有高和低的水平应该相对简单。。

我买的旋转编码器模块有5个引脚,VCC分别, GND, SW, CLK, DT。其中,VCC和GND被用来连接电源和接地。,缩写SW应该是开关(开关)。、时钟是时钟(时钟)、DT是数据(数据)。

网上的信息不太理想。,但是引进的基本原则是没有问题的。。旋转编码器的操作是旋转和按压转轴,当转轴受到挤压时,SW销的水平会发生变化。,当旋转时,CLK和dt的水平随着每次转动而有规律地变化。。在只有电源的情况下,首先测量中的铅水平的变化,没有示波器,电压必须用万用表测量。。

点击:SW(红色) 接地(黑色),按下和释放按钮没有任何变化。,VCC(红色) SW(黑色)在0释放,高压时按压。可以推断,SW通常是一个高阻抗状态。,接地时,压。用Arduino检测的方法是设置连接SW的引脚为INPUT并上拉输出高电平,当针低时,按钮被按下。,下面的代码可以正确地检测按钮的变化。

//定义引脚连接int SW= 4;  // SW->D4bool lastButtonStatus = false;
 
void setup()
{
  pinMode(SW, 输入)
  digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。
  (9600);
}
 
void loop()
{
  bool buttonStatus = !digitalRead(SW);//高压不压,国家是假的if (buttonStatus != lastButtonStatus)
  {
    (buttonStatus ? "pressed" : "released");
    lastButtonStatus = buttonStatus;//保存当前状态  }
  delay(100);
}

旋转:时钟(红色) 接地(黑色),一次旋转(不考虑方向),电平转换一次,DT(红色) 接地(黑色),这种变化与以前的情况是一致的。,CLK和dt的水平是一致的。。VCC(红色) 时钟(黑色),同样的VCC(红色) dt(黑色)也是如此。。时钟(红色) dt(黑色)或CLK(黑色) dt(红色),每一个旋转(和方向无关),指针轻微摆动。,两个相邻指针的方向相反。。结论:时钟和DAT引脚的水平变化每次他们旋转,水平变化有时差,但是你不知道它会旋转哪个方向。。

编写测试代码,按下按钮时,读取时钟和dt的值。:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5 6void setup()
 7{
 8  pinMode(SW, 输入)
 9   digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。10  pinMode(CLK, 输入)
11  pinMode(DT, 输入)
12   (9600);
13}
1415void loop()
16{
17if (!digitalRead(SW)) //当按下按钮时,读取CLK和dt的值。18  {
19int clkValue = digitalRead(CLK);//读取CLK引脚的电平20int dtValue = digitalRead(DT);//读取dt引脚的级别21     Serial.print("CLK:");
22    Serial.print(clkValue);
23     Serial.print("; DT:");
24    (dtValue);
25     delay(1000);
26  }
27 }

测试发现顺时针或逆时针旋转。,在按下每个按钮后,CLK和dt值是一样的。,两个相邻步骤之间的值是不同的。,符合用万用表测量的结果。

CLK和DT测试表明,有一定的时间差,可以用Arduino在CLK电平变化的瞬间读取DT的值,也许你会找到法律。通过中断0改变时钟上的电平变化,读取时钟和dt的电平值:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 5 6void setup()
 7{
 8  pinMode(CLK, 输入)
 9  pinMode(DT, 输入)
10   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发11   (9600);
12}
1314void loop()
15{
16}
1718//中断处理函数19void ClockChanged()
20{
21int clkValue = digitalRead(CLK);//读取CLK引脚的电平22int dtValue = digitalRead(DT);//读取dt引脚的级别23   Serial.print("CLK:");
24  Serial.print(clkValue);
25   Serial.print("; DT:");
26  (dtValue);
27 }

顺时针旋转一步:

顺时针旋转3步(水平线分隔):

逆时针旋转3步(水平线分隔):

根据以上测试结果,每个旋转触发的中断数是不一致的。,这可能是硬件本身造成的。,类似按键抖动。经过多次试验,查看每个更改的最后一组值,时钟和dt的值在顺时针旋转时不一致。,CLK和DT的价值观是一致的逆时针旋转。修改代码,按顺时针方向将计数加1。,计数器计数1计数器计数,按下按钮,时钟计数清零。。

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 6int count = 0;//计数值 7int lastCLK = 0;//时钟的历史价值 8 9void setup()
10{
11  pinMode(SW, 输入)
12  digitalWrite(SW, 高)
13  pinMode(CLK, 输入)
14  pinMode(DT, 输入)
15   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发16   (9600);
17}
1819void loop()
20{
21if (!digitalRead(SW) && count != 0) //向下读取按钮,计数值不是0,计数器清零。22  {
23     count = 0;
24     Serial.print("count:");
25    (计数)
26  }
27}
2829//中断处理函数30void ClockChanged()
31{
32int clkValue = digitalRead(CLK);//读取CLK引脚的电平33int dtValue = digitalRead(DT);//读取dt引脚的级别34if (lastCLK != clkValue)
35  {
36     lastCLK = clkValue;
37     count += (clkValue != dtValue ? 1 : -1);//当时钟和dt是不一致的,  1,另有138     Serial.print("count:");
39    (计数)
40  }
41 }

测试发现,大多数情况下您可以正确输出。:


偶尔的旋转不是很平稳,会是跳跃的情况。,在这一点上,你可以感觉到两个步骤之间的旋钮。。有人说最好是在针之间接上滤波电容。,实际测试没有发现改进。。推测因为旋钮是D,当你转动你的手时,它会弹跳。,你应该避免这个当你把一个旋钮帽。

旋转编码器可以用于需要精确调整值(电位器不准确),操作菜单及其他场合。后续会使用旋转编码器制作一些小东西,也欢迎大家分享旋转编码器相关代码。

【Arduino】旋转编码器的Arduino使用方法 – Alex Leo

在使用CRT显示器之前,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,它比多个按钮要方便得多。。

鼠标滚轮也是这种操作方法。,旋转 点击,只是不同的方向。最近在网上买了旋转编码器模块,我想在实际生产中使用它。。在网上寻找大量的信息,测试发现代码或多或少有问题。。于是决定自己研究一下旋转编码器的原理,只有高和低的水平应该相对简单。。

我买的旋转编码器模块有5个引脚,VCC分别, GND, SW, CLK, DT。其中,VCC和GND被用来连接电源和接地。,缩写SW应该是开关(开关)。、时钟是时钟(时钟)、DT是数据(数据)。

网上的信息不太理想。,但是引进的基本原则是没有问题的。。旋转编码器的操作是旋转和按压转轴,当转轴受到挤压时,SW销的水平会发生变化。,当旋转时,CLK和dt的水平随着每次转动而有规律地变化。。在只有电源的情况下,首先测量中的铅水平的变化,没有示波器,电压必须用万用表测量。。

点击:SW(红色) 接地(黑色),按下和释放按钮没有任何变化。,VCC(红色) SW(黑色)在0释放,高压时按压。可以推断,SW通常是一个高阻抗状态。,接地时,压。用Arduino检测的方法是设置连接SW的引脚为INPUT并上拉输出高电平,当针低时,按钮被按下。,下面的代码可以正确地检测按钮的变化。

//定义引脚连接int SW= 4;  // SW->D4bool lastButtonStatus = false;
 
void setup()
{
  pinMode(SW, 输入)
  digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。
  (9600);
}
 
void loop()
{
  bool buttonStatus = !digitalRead(SW);//高压不压,国家是假的if (buttonStatus != lastButtonStatus)
  {
    (buttonStatus ? "pressed" : "released");
    lastButtonStatus = buttonStatus;//保存当前状态  }
  delay(100);
}

旋转:时钟(红色) 接地(黑色),一次旋转(不考虑方向),电平转换一次,DT(红色) 接地(黑色),这种变化与以前的情况是一致的。,CLK和dt的水平是一致的。。VCC(红色) 时钟(黑色),同样的VCC(红色) dt(黑色)也是如此。。时钟(红色) dt(黑色)或CLK(黑色) dt(红色),每一个旋转(和方向无关),指针轻微摆动。,两个相邻指针的方向相反。。结论:时钟和DAT引脚的水平变化每次他们旋转,水平变化有时差,但是你不知道它会旋转哪个方向。。

编写测试代码,按下按钮时,读取时钟和dt的值。:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5 6void setup()
 7{
 8  pinMode(SW, 输入)
 9   digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。10  pinMode(CLK, 输入)
11  pinMode(DT, 输入)
12   (9600);
13}
1415void loop()
16{
17if (!digitalRead(SW)) //当按下按钮时,读取CLK和dt的值。18  {
19int clkValue = digitalRead(CLK);//读取CLK引脚的电平20int dtValue = digitalRead(DT);//读取dt引脚的级别21     Serial.print("CLK:");
22    Serial.print(clkValue);
23     Serial.print("; DT:");
24    (dtValue);
25     delay(1000);
26  }
27 }

测试发现顺时针或逆时针旋转。,在按下每个按钮后,CLK和dt值是一样的。,两个相邻步骤之间的值是不同的。,符合用万用表测量的结果。

CLK和DT测试表明,有一定的时间差,可以用Arduino在CLK电平变化的瞬间读取DT的值,也许你会找到法律。通过中断0改变时钟上的电平变化,读取时钟和dt的电平值:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 5 6void setup()
 7{
 8  pinMode(CLK, 输入)
 9  pinMode(DT, 输入)
10   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发11   (9600);
12}
1314void loop()
15{
16}
1718//中断处理函数19void ClockChanged()
20{
21int clkValue = digitalRead(CLK);//读取CLK引脚的电平22int dtValue = digitalRead(DT);//读取dt引脚的级别23   Serial.print("CLK:");
24  Serial.print(clkValue);
25   Serial.print("; DT:");
26  (dtValue);
27 }

顺时针旋转一步:

顺时针旋转3步(水平线分隔):

逆时针旋转3步(水平线分隔):

根据以上测试结果,每个旋转触发的中断数是不一致的。,这可能是硬件本身造成的。,类似按键抖动。经过多次试验,查看每个更改的最后一组值,时钟和dt的值在顺时针旋转时不一致。,CLK和DT的价值观是一致的逆时针旋转。修改代码,按顺时针方向将计数加1。,计数器计数1计数器计数,按下按钮,时钟计数清零。。

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 6int count = 0;//计数值 7int lastCLK = 0;//时钟的历史价值 8 9void setup()
10{
11  pinMode(SW, 输入)
12  digitalWrite(SW, 高)
13  pinMode(CLK, 输入)
14  pinMode(DT, 输入)
15   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发16   (9600);
17}
1819void loop()
20{
21if (!digitalRead(SW) && count != 0) //向下读取按钮,计数值不是0,计数器清零。22  {
23     count = 0;
24     Serial.print("count:");
25    (计数)
26  }
27}
2829//中断处理函数30void ClockChanged()
31{
32int clkValue = digitalRead(CLK);//读取CLK引脚的电平33int dtValue = digitalRead(DT);//读取dt引脚的级别34if (lastCLK != clkValue)
35  {
36     lastCLK = clkValue;
37     count += (clkValue != dtValue ? 1 : -1);//当时钟和dt是不一致的,  1,另有138     Serial.print("count:");
39    (计数)
40  }
41 }

测试发现,大多数情况下您可以正确输出。:


偶尔的旋转不是很平稳,会是跳跃的情况。,在这一点上,你可以感觉到两个步骤之间的旋钮。。有人说最好是在针之间接上滤波电容。,实际测试没有发现改进。。推测因为旋钮是D,当你转动你的手时,它会弹跳。,你应该避免这个当你把一个旋钮帽。

旋转编码器可以用于需要精确调整值(电位器不准确),操作菜单及其他场合。后续会使用旋转编码器制作一些小东西,也欢迎大家分享旋转编码器相关代码。

【现货供应内密控NEMICON编码器HES-006-2MD】,价格,厂家,供应商,其他电子元器件,上海鑫姆瑞电子有限公司 – 产品库

产品名称:紧凑hes-006-2md NEMICON编码器现货供应

产品链接:

手机联系:

我公司是NEMICON闭环控制编码器一级代理 大量现货  还有现货替代品。

上海渡边电子 黄小姐

常用的库存模型如下:

OVW2编码器 30 / R经济系列– 3600p / R

他编 小空心系列30P/R-3600p / R

开源编码器 迷你系列60p——500P / R / R

SBS编码器 超薄中空系列500P / R——3000p / R

NOC-S编码器 30P/R-5000p / R系列抗恶劣环境

noc-sp编码器的高精度和恶劣的环境,10000p系列30P/R / R

SBH编码器 空心系列100P / R,1000p / R

打开编码器 通用型系列 100P/R–5000P/R

该编码器 一系列的空心30P/R,耐恶劣环境3600p / R

NE编码器 最坚固的系列1000p / R,5000p / R

ASE编码器 绝对值空心型串联二值负逻辑

OEK编码器 法兰式通用系列50便士/ R,600p / R

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NE-1024-2MD  NE-20-2MD  NE-2048-2MD NE-25-2MD  NE-4096-2MD  NE-50-2MD

HES-006-2MHC

HES-006-2MHT HES-006-2MD HES-006-2M

HES-01-2MHC HES-01-2MHT HES-01-2MD HES-01-2M

HES-02-2MHC HES-02-2MHT HES-02-2MD HES-02-2M

HES-03-2MHC HES-03-2MHT HES-03-2MD HES-03-2M

HES-036-2MHC HES-036-2MHT HES-036-2MD HES-036-2M

HES-04-2MHC HES-04-2MHT HES-04-2MD HES-04-2M

HES-05-2MHC HES-05-2MHT HES-05-2MD HES-05-2M

HES-0512-2MHC HES-0512-2MHT HES-0512-2MD HES-0512-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

HES-06-2MHC HES-06-2MHT HES-06-2MD HES-06-2M

HES-08-2MHC HES-08-2MHT HES-08-2MD HES-08-2M

HES-09-2MHC HES-09-2MHT HES-09-2MD HES-09-2M

HES-10-2MHC HES-10-2MHT HES-10-2MD HES-10-2M

HES-1024-2MHC HES-1024-2MHT HES-1024-2MD HES-1024-2M

HES-12-2MHC HES-12-2MHT HES-12-2MD HES-12-2M

HES-15-2MHC HES-15-2MHT HES-15-2MD HES-15-2M

HES-18-2MHC HES-18-2MHT HES-18-2MD HES-18-2M

HES-20-2MHC HES-20-2MHT HES-20-2MD HES-20-2M

HES-2048-2MHC HES-2048-2MHT HES-2048-2MD HES-2048-2M

HES-25-2MHC HES-25-2MHT HES-25-2MD HES-25-2M

HES-36-2MHC HES-36-2MHT HES-36-2MD HES-36-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

OVW2-006-2MHC    OVW2-006-2MHT  OVW2-006-2MD    OVW2-006-2M

OVW2-01-2MHC    OVW2-01-2MHT    OVW2-01-2MD    OVW2-01-2M

OVW2-02-2MHC    OVW2-02-2MHT    OVW2-02-2MD    OVW2-02-2M

OVW2-03-2MHC    OVW2-03-2MHT    OVW2-03-2MD    OVW2-03-2M

OVW2-036-2MHC      OVW2-036-2MHT  OVW2-036-2MD    OVW2-036-2M

OVW2-04-2MHC    OVW2-04-2MHT    OVW2-04-2MD    OVW2-04-2M

OVW2-05-2MHC    OVW2-05-2MHT    OVW2-05-2MD    OVW2-05-2M

OVW2-06-2MHC    OVW2-06-2MHT    OVW2-06-2MD    OVW2-06-2M

OVW2-08-2MHC    OVW2-08-2MHT    OVW2-08-2MD    OVW2-08-2M

OVW2-09-2MHC    OVW2-09-2MHT    OVW2-09-2MD   

大量现货  还有现货替代品。

上海渡边电子 黄小姐

OVW2-09-2M

OVW2-10-2MHC    OVW2-10-2MHT    OVW2-10-2MD    OVW2-10-2M

OVW2-1024-2MHC    OVW2-1024-2MHT OVW2-1024-2MD OVW2-1024-2M

OVW2-12-2MHC    OVW2-12-2MHT    OVW2-12-2MD    OVW2-12-2M

OVW2-15-2MHC    OVW2-15-2MHT    OVW2-15-2MD    OVW2-15-2M

OVW2-18-2MHC    OVW2-18-2MHT    OVW2-18-2MD    OVW2-18-2M

OVW2-20-2MHC    OVW2-20-2MHT    OVW2-20-2MD    OVW2-20-2M

OVW2-2048-2MHC    OVW2-2048-2MHT OVW2-2048-2MD OVW2-2048-2M

OVW2-25-2MHC    OVW2-25-2MHT    OVW2-25-2MD    OVW2-25-2M

OVW2-36-2MHC    OVW2-36-2MHT    OVW2-36-2MD    OVW2-36-2M

OVW2-25-2MD  OVF-003-2MC OVF-003-2M OVF-003-2MHC

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-S10-2HC  NOC-S10-2MHT NOC-S10-2MD NOC-S10-2M

NOC-S100-2HC  NOC-S100-2MHT NOC-S100-2MD NOC-S100-2M

NOC-S360-2HC  NOC-S360-2MHT NOC-S360-2MD NOC-S360-2M

NOC-S500-2HC  NOC-S500-2MHT NOC-S500-2MD NOC-S500-2M

NOC-S1000-2HC  NOC-S1000-2MHT NOC-S1000-2MD NOC-S1000-2M

NOC-S1024-2HC  NOC-S1024-2MHT NOC-S1024-2MD NOC-S1024-2M

NOC-S2000-2HC  NOC-S2000-2MHT NOC-S2000-2MD NOC-S2000-2M

NOC-S2048-2HC  NOC-S2048-2MHT NOC-S2048-2MD NOC-S2048-2M

NOC-S2500-2HC  NOC-S2500-2MHT NOC-S2500-2MD NOC-S2500-2M

NOC-S3600-2HC  NOC-S3600-2MHT NOC-S3600-2MD NOC-S3600-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-S10-2MHC  NOC-S10-2MWT    

NOC-S100-2MHC  NOC-S100-2MWT    

NOC-S360-2MHC  NOC-S360-2MWT    

NOC-S500-2MHC  NOC-S500-2MWT    

NOC-S1000-2MHC  NOC-S1000-2MWT    

NOC-S1024-2MHC  NOC-S1024-2MWT    

NOC-S2000-2MHC  NOC-S2000-2MWT    

NOC-S2048-2MHC  NOC-S2048-2MWT    

NOC-S2500-2MHC  NOC-S2500-2MWT    

NOC-S3600-2MHC  NOC-S3600-2MWT    

NOC-S4096-2MHC  NOC-S4096-2MWT    

NOC-S5000-2MHC  NOC-S5000-2MWT

NOC-SP30-2M NOC-SP30-2MC NOC-SP30-2MHC

NOC-SP40-2M NOC-SP40-2MC NOC-SP40-2MHC

NOC-SP60-2M NOC-SP60-2MC NOC-SP60-2MHC

NOC-SP100-2M NOC-SP100-2MC NOC-SP100-2MHC

NOC-SP120-2M NOC-SP120-2MC NOC-SP120-2MHC

NOC-SP200-2M NOC-SP200-2MC NOC-SP200-2MHC

NOC-SP250-2M NOC-SP250-2MC NOC-SP250-2MHC

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-SP300-2M NOC-SP300-2MC NOC-SP300-2MHC

NOC-SP360-2M NOC-SP360-2MC NOC-SP360-2MHC

NOC-SP400-2M NOC-SP400-2MC NOC-SP400-2MHC

NOC-SP500-2M NOC-SP500-2MC NOC-SP500-2MHC

NOC-SP512-2M NOC-SP512-2MC NOC-SP512-2MHC

NOC-SP600-2M NOC-SP600-2MC NOC-SP600-2MHC

NOC-SP900-2M NOC-SP900-2MC NOC-SP900-2MHC

NOC-SP1000-2M NOC-SP1000-2MC NOC-SP1000-2MHC

NOC-SP1024-2M NOC-SP1024-2MC NOC-SP1024-2MHC

NOC-SP1200-2M NOC-SP1200-2MC NOC-SP1200-2MHC

NOC-SP1500-2M NOC-SP1500-2MC NOC-SP1500-2MHC

NOC-SP1800-2M NOC-SP1800-2MC NOC-SP1800-2MHC

NOC-SP2000-2M NOC-SP2000-2MC NOC-SP2000-2MHC

NOC-SP2048-2M NOC-SP2048-2MC NOC-SP2048-2MHC

NOC-SP2500-2M NOC-SP2500-2MC NOC-SP2500-2MHC

NOC-SP4096-2M NOC-SP4096-2MC NOC-SP4096-2MHC

NOC-SP5000-2M NOC-SP5000-2MC NOC-SP5000-2MHC

NOC-SP10000-2M NOC-SP10000-2MC NOC-SP10000-2MHC

SBH-0512-2T SBH-0512-2MT SBH-0512-2MD

SBH-1024-2T SBH-1024-2MT SBH-1024-2MD

大量现货  还有现货替代品。

上海渡边电子 黄小姐 

SBH-100-2T SBH-100-2MT SBH-100-2MD

OPN-01-2M OPN-01-2MC OPN-01-2MHC

OPN-036-2M OPN-036-2MC OPN-036-2MHC

OPN-10-2M OPN-10-2MC OPN-10-2MHC

OPN-20-2M OPN-20-2MC OPN-20-2MHC

OPN-4096-2M OPN-4096-2MC OPN-4096-2MHC

OPN-02-2M OPN-02-2MC OPN-02-2MHC

OPN-05-2M OPN-05-2MC OPN-05-2MHC

OPN-1024-2M OPN-1024-2MC OPN-1024-2MHC

OPN-2048-2M OPN-2048-2MC OPN-2048-2MHC

OPN-50-2M OPN-50-2MC OPN-50-2MHC

【Arduino】旋转编码器的Arduino使用方法 – Alex Leo

在使用CRT显示器之前,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,它比多个按钮要方便得多。。

鼠标滚轮也是这种操作方法。,旋转 点击,只是不同的方向。最近在网上买了旋转编码器模块,我想在实际生产中使用它。。在网上寻找大量的信息,测试发现代码或多或少有问题。。于是决定自己研究一下旋转编码器的原理,只有高和低的水平应该相对简单。。

我买的旋转编码器模块有5个引脚,VCC分别, GND, SW, CLK, DT。其中,VCC和GND被用来连接电源和接地。,缩写SW应该是开关(开关)。、时钟是时钟(时钟)、DT是数据(数据)。

网上的信息不太理想。,但是引进的基本原则是没有问题的。。旋转编码器的操作是旋转和按压转轴,当转轴受到挤压时,SW销的水平会发生变化。,当旋转时,CLK和dt的水平随着每次转动而有规律地变化。。在只有电源的情况下,首先测量中的铅水平的变化,没有示波器,电压必须用万用表测量。。

点击:SW(红色) 接地(黑色),按下和释放按钮没有任何变化。,VCC(红色) SW(黑色)在0释放,高压时按压。可以推断,SW通常是一个高阻抗状态。,接地时,压。用Arduino检测的方法是设置连接SW的引脚为INPUT并上拉输出高电平,当针低时,按钮被按下。,下面的代码可以正确地检测按钮的变化。

//定义引脚连接int SW= 4;  // SW->D4bool lastButtonStatus = false;
 
void setup()
{
  pinMode(SW, 输入)
  digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。
  (9600);
}
 
void loop()
{
  bool buttonStatus = !digitalRead(SW);//高压不压,国家是假的if (buttonStatus != lastButtonStatus)
  {
    (buttonStatus ? "pressed" : "released");
    lastButtonStatus = buttonStatus;//保存当前状态  }
  delay(100);
}

旋转:时钟(红色) 接地(黑色),一次旋转(不考虑方向),电平转换一次,DT(红色) 接地(黑色),这种变化与以前的情况是一致的。,CLK和dt的水平是一致的。。VCC(红色) 时钟(黑色),同样的VCC(红色) dt(黑色)也是如此。。时钟(红色) dt(黑色)或CLK(黑色) dt(红色),每一个旋转(和方向无关),指针轻微摆动。,两个相邻指针的方向相反。。结论:时钟和DAT引脚的水平变化每次他们旋转,水平变化有时差,但是你不知道它会旋转哪个方向。。

编写测试代码,按下按钮时,读取时钟和dt的值。:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5 6void setup()
 7{
 8  pinMode(SW, 输入)
 9   digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。10  pinMode(CLK, 输入)
11  pinMode(DT, 输入)
12   (9600);
13}
1415void loop()
16{
17if (!digitalRead(SW)) //当按下按钮时,读取CLK和dt的值。18  {
19int clkValue = digitalRead(CLK);//读取CLK引脚的电平20int dtValue = digitalRead(DT);//读取dt引脚的级别21     Serial.print("CLK:");
22    Serial.print(clkValue);
23     Serial.print("; DT:");
24    (dtValue);
25     delay(1000);
26  }
27 }

测试发现顺时针或逆时针旋转。,在按下每个按钮后,CLK和dt值是一样的。,两个相邻步骤之间的值是不同的。,符合用万用表测量的结果。

CLK和DT测试表明,有一定的时间差,可以用Arduino在CLK电平变化的瞬间读取DT的值,也许你会找到法律。通过中断0改变时钟上的电平变化,读取时钟和dt的电平值:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 5 6void setup()
 7{
 8  pinMode(CLK, 输入)
 9  pinMode(DT, 输入)
10   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发11   (9600);
12}
1314void loop()
15{
16}
1718//中断处理函数19void ClockChanged()
20{
21int clkValue = digitalRead(CLK);//读取CLK引脚的电平22int dtValue = digitalRead(DT);//读取dt引脚的级别23   Serial.print("CLK:");
24  Serial.print(clkValue);
25   Serial.print("; DT:");
26  (dtValue);
27 }

顺时针旋转一步:

顺时针旋转3步(水平线分隔):

逆时针旋转3步(水平线分隔):

根据以上测试结果,每个旋转触发的中断数是不一致的。,这可能是硬件本身造成的。,类似按键抖动。经过多次试验,查看每个更改的最后一组值,时钟和dt的值在顺时针旋转时不一致。,CLK和DT的价值观是一致的逆时针旋转。修改代码,按顺时针方向将计数加1。,计数器计数1计数器计数,按下按钮,时钟计数清零。。

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 6int count = 0;//计数值 7int lastCLK = 0;//时钟的历史价值 8 9void setup()
10{
11  pinMode(SW, 输入)
12  digitalWrite(SW, 高)
13  pinMode(CLK, 输入)
14  pinMode(DT, 输入)
15   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发16   (9600);
17}
1819void loop()
20{
21if (!digitalRead(SW) && count != 0) //向下读取按钮,计数值不是0,计数器清零。22  {
23     count = 0;
24     Serial.print("count:");
25    (计数)
26  }
27}
2829//中断处理函数30void ClockChanged()
31{
32int clkValue = digitalRead(CLK);//读取CLK引脚的电平33int dtValue = digitalRead(DT);//读取dt引脚的级别34if (lastCLK != clkValue)
35  {
36     lastCLK = clkValue;
37     count += (clkValue != dtValue ? 1 : -1);//当时钟和dt是不一致的,  1,另有138     Serial.print("count:");
39    (计数)
40  }
41 }

测试发现,大多数情况下您可以正确输出。:


偶尔的旋转不是很平稳,会是跳跃的情况。,在这一点上,你可以感觉到两个步骤之间的旋钮。。有人说最好是在针之间接上滤波电容。,实际测试没有发现改进。。推测因为旋钮是D,当你转动你的手时,它会弹跳。,你应该避免这个当你把一个旋钮帽。

旋转编码器可以用于需要精确调整值(电位器不准确),操作菜单及其他场合。后续会使用旋转编码器制作一些小东西,也欢迎大家分享旋转编码器相关代码。

光洋KOYO编码器TRD-GK1000-RZ (中国 湖北省 贸易商) – 电气控制系统

武汉作为一个光洋KOYO编码器trd-s10b剂 武汉光洋KOYO编码器编码器:TRD-GK1000-RZ悦达特价现货供应

武汉特价TRD-GK1000-RZ TRD-GK100-BZ TRD-GK30-BZ TRD-GK360-BZ TRD-GK1000-RZ

中国光阳光洋编码器PLC总代理   武汉光阳光洋垄断编码器:TRD-J1000-RZ-2M   武汉光阳特价出售trd-gk1800-rz

光阳光洋模块e-01ad D3-04AD   特价光阳PLC模块e-05n   光洋trd-j1000-s库存现货价格

027-83820373  18986294980  QQ: 1183590335 光阳光洋反kcn-4wr

特价供应光洋编码器:TRD-J1000-RZ-2M编码器脉冲在现场

光阳编码器光洋 TRD-GK系列特价供应TRD-S50B

KOYO 编码器TRD-GK10-R             KOYO 编码器TRD-GK100-BZ

KOYO 编码器TRD-GK100-RZ           KOYO 编码器TRD-GK1000-BZ 

KOYO 编码器TRD-GK1000-BZC2     KOYO 编码器TRD-GK1000-RZ 

KOYO 编码器TRD-GK12-R             KOYO 编码器TRD-GK1800-RZ 

KOYO 编码器TRD-GK200-BZ           KOYO 编码器TRD-GK200-RZ 

KOYO 编码器TRD-GK2000-RZ          KOYO 编码器TRD-GK2000-RZC2 

KOYO 编码器TRD-GK240-BZ           KOYO 编码器TRD-GK30-BZ 

KOYO 编码器TRD-GK30-BZC2          KOYO 编码器TRD-GK300-BZ 

KOYO 编码器TRD-GK300-RZ           KOYO 编码器TRD-GK3000-RZ 

KOYO 编码器TRD-GK360-BZ           KOYO 编码器TRD-GK360-RZ 

KOYO 编码器TRD-GK3600-RZ          KOYO 编码器TRD-GK400-RZ 

KOYO 编码器TRD-GK500-BZC2         KOYO 编码器TRD-GK500-RZ 

KOYO 编码器TRD-GK5000-RZC2         KOYO 编码器TRD-GK60-BZ 

KOYO 编码器TRD-GK600-RZ            KOYO 编码器TRD-GK600-RZC2 

TRD-GK1000-RZ  TRD-GK100-RZ  TRD-2T100BF  TRD-J1000-RZ

TRD-J60-S-5M 970.00 TRD-N60-RZ 1050.00 U-02RS 5530.00 

TRD-J60-S-6M 1020.00 TRD-N90-S 700.00 U-02RS-C 5530.00 

TRD-J60-S-9M 1180.00 TRD-NA1024PW 2800.00 U-03PM 8000.00 

TRD-J60-SC 920.00 TRD-NA1024PWA 2800.00 U-03RM 3950.00 

TRD-J60-SS 790.00 TRD-NA180RNW 2800.00 U-03RS-NT1 3720.00 

TRD-J60-SW 840.00 TRD-NA256NW 2800.00 U-03RS-NT2 3720.00 

TRD-J750-RZ 1410.00 TRD-NA256NWE 2800.00 U-04B 1040.00 

TRD-J100-RZ  TRD-J1000-RZ   TRD-N1000-RZ  TRD-N2000-RZ 

TRD-J750-RZC 1620.00 TRD-NA32NW 2800.00 U-05J 560.00 

TRD-J750-RZCL 1620.00 TRD-NA360NW 2800.00 U-05N 760.00 

TRD-J750-RZL 1410.00 TRD-NA360NWE 2800.00 U-05S 1450.00 

TRD-J750-RZS 1490.00 TRD-NA360NWF5M 2890.00 U-05T 1260.00 

TRD-J750-RZSL 1490.00 TRD-NA720NWF5M 2890.00 U-06B 1270.00 

TRD-J750-RZW 1530.00 TRD-S1000B 790.00 U-08B 1590.00 

TRD-J750-RZWL 1530.00 TRD-S100A 790.00 U-08N 2300.00 

TRD-J750-S 1010.00 TRD-S100B 790.00 U-10J 800.00 

TRD-J750-SC 1230.00 TRD-S1024B 980.00 U-10JT 630.00 

TRD-J750-SS 1090.00 TRD-S10B 790.00 U-12ABM 8390.00 

TRD-J750-SW 1140.00 TRD-S1200B 980.00 U-12ABM-RM 10230.00 

光阳光洋编码器型号

APS-10-4N APS5-12GM-Z Z-05B

APS-10-4T APS5-18F-E Z-05B-C

KC02-6WR PBM603DXC60 TRD-2T1000BF

S-15CNJ SN-32DR-A1 TRD-2T100

TRD-GK60-BZ TRD-J60-RZW TRD-S60B

TRD-GK600-RZ TRD-J60-S TRD-SH1000B、、、、、、型号齐全,欢迎来电咨询!

KOYO 光阳PLC 报价表 

SR-21,22 / d3-350可编程逻辑控制器

产品名称 该订单号 ADC的订单号 单价 

8点ac115 / 230V输出模块,1A E-20T D3-08TA-2 

4点ac115 / 230V输出模块,2A,独立回路 E-21T D3-04TAS

4点DC24V输入/ 4点继电器输出模块 E-01NT   

4点DC24V输入/ 4点DC24V输出模块 E-10NT   

8点DC24V输入/ 8点继电器输出模块 E-05NT  

拉出开关接口模块,外部数据输入用 E-01D D3-TCSU 

高速计数器模块,10KHz E-01Z D3-HSC  

模拟量输入模块,4通道,8位,1~5V或4~20mA E-01AD D3-04AD 

模拟量输入模块,1通道,12位,1~5V, 

0~10V或4~20mA E-02AD   

模拟量输入模块,8通道,12位,0~5V E-03AD   

模拟量输出模块,2通道,8位,0~10V或4~20mA E-01DA D3-02DA 

模拟量输出模块,1通道,12位,0~10V或4~20mA E-02DA  

轴定位模块,开环步进电动机控制 E-02PP   

模拟量输入模块,4通道,12位,0~5V,0~10V, 

-5~5V,-10~10V,1~5V,0~20mA,4~20m, E-ADC-1 F3-04ADS 

模拟量输出模块,4通道,12位,0~5V,0~10V, 

光阳反kcn-4wr光洋 KCN-4ST KCN-6ST KCN-4ST-C KCN-6ST-C  KCN-6WR KCN-4WR-C

 KCN-6WR-C KCN-4WT KCN-6WT KCN-4WT-C KCN-6WT-C KCN-4BR KCN-6BR 

KCN-4BR-C KCN-6BR-C KCN-4BT KCN-6BT

TRD-2E1000B TRD-2E1000V TRD-2E100B TRD-2E1024B TRD-2E1024V 

TRD-2E1200A TRD-2E1200B TRD-2E1200V TRD-2E1200V-3M TRD-2E2000B TRD-2E2048B 

TRD-2E2500B TRD-2E2500V TRD-2E360B TRD-2E360B-2M TRD-2E360V TRD-2E600B TRD-2E600V 

TRD-2E60B TRD-2EH1024B TRD-2EH1024BF TRD-2EH1024V TRD-2EH360A TRD-2EH360B TRD-2EH500B 

TRD-2EH600B TRD-2T1000AF TRD-2T1000AF-3M TRD-2T1000BF TRD-2T1000BF-2M TRD-2T1000V 

TRD-2T1000V-2M TRD-2T1000V-5M TRD-2T100AF TRD-2T100B TRD-2T100BF TRD-2T100V TRD-2T1024BF 

TRD-2T1024V TRD-2T10B TRD-2T2000BF TRD-2T2000V TRD-2T200BF TRD-2T2048AF TRD-2T2048BF 

TRD-2T2048V TRD-2T240BF TRD-2T2500AF TRD-2T2500BF TRD-2T2500V TRD-2T300BF TRD-2T360BF 

TRD-2T360BF-2M TRD-2T360V TRD-2T400BF TRD-2T400V TRD-2T500B TRD-2T500BE TRD-2T500BF 

TRD-2T500V TRD-2T500V-3M TRD-2T50B TRD-2T600AF TRD-2T600BF TRD-2T600V TRD-2T60B 

TRD-2TH1000-7079 TRD-2TH1000AF TRD-2TH1000BF TRD-2TH100BF TRD-2TH100V TRD-2TH1024B 

TRD-2TH1024BF TRD-2TH1024V TRD-2TH10B TRD-2TH1200A TRD-2TH2000BF TRD-2TH2000V 

TRD-2TH2048V TRD-2TH2500BF TRD-2TH2500V-5M TRD-2TH250BF TRD-2TH360AF TRD-2TH360BF 

TRD-2TH360BF-2M TRD-2TH500AF TRD-2TH500V TRD-2TH600BF TRD-2TH60B TRD-2TH60V 

TRD-GK10-R TRD-GK100-BZ TRD-GK100-RZ TRD-GK1000-BZ TRD-GK1000-BZC2 TRD-GK1000-RZ 

TRD-GK12-R TRD-GK1800-RZ TRD-GK200-BZ TRD-GK200-RZ TRD-GK2000-RZ TRD-GK2000-RZC2 

TRD-GK240-BZ TRD-GK30-BZ TRD-GK30-BZC2 TRD-GK300-BZ TRD-GK300-RZ TRD-GK3000-RZ 

TRD-GK360-BZ TRD-GK360-RZ TRD-GK3600-RZTRD-GK400-RZ TRD-GK500-BZC2 TRD-GK500-RZ 

TRD-GK5000-RZC2 TRD-GK60-BZ TRD-GK600-RZ TRD-GK600-RZC2 TRD-J10-S TRD-J10-SW 

TRD-J100-RZ TRD-J100-RZ-3301 TRD-J100-RZC TRD-J100-RZCW TRD-J100-RZV 

trd-n(忻州)/ NH(空心轴)(增量型)

特点:

1、超薄型

2、外径为50mm,厚35mm超薄设计

3、可以选择相应的飞机根据环境使用

4、使用直径为8mm的长寿命轴。

5、电源电压范围可介于

TRD-N1000-RZ TRD-N1000-RZW TRD-N1000-SW TRD-N100-RZ TRD-N1024-RZ TRD-N1200-RZ 

TRD-N2000-RZ TRD-N200-RZ TRD-N200-S TRD-N2500-RZ TRD-N2500-RZW 

TRD-N600-RZ TRD-NH1000-RZ TRD-NH2000-RZ TRD-NH600-RZ TRD-NH60-RZW 

光阳编码器:TRD-J1000-RZ-2M编码器脉冲在现场     武汉光洋KOYO编码器更trd-gk特价

027-83820373  18986294980 QQ:1183590335 光阳光洋反kcn-4wr

trd-j系列(增量型)

特点:

1、小型经济型

2、低价格,注重高性能比设计的方便性

3、直径为50mm的小贝壳,主轴8mm的使用,寿命长

4、采用抗振动、抗冲击金属光栅,1000个脉冲每转可以实现。

5、电源电压范围可介于变化

TRD-J1000-RZ TRD-J1000-RZC TRD-J1000-RZCW TRD-J1000-RZV TRD-J1000-RZVW TRD-J1000-RZVWS 

TRD-J1000-RZW TRD-J1000-S TRD-J1000-SC TRD-J100-RZ TRD-J100-RZC TRD-J100-RZCW 

TRD-J100-RZV TRD-J100-RZW TRD-J100-S TRD-J100-SW TRD-J360-RZ TRD-J360-RZ-2M TRD-J360-RZC 

TRD-J360-RZW TRD-J400-RZ TRD-J400-S TRD-J400-SW TRD-J500-RZ TRD-J500-RZC TRD-J500-RZL 

TRD-J500-RZV TRD-J500-RZW TRD-J50-RZ TRD-J50-RZW TRD-J600-RZ TRD-J600-RZC TRD-J10-SW 

TRD-J200-RZ TRD-J200-RZC TRD-J200-RZVWS TRD-J200-S TRD-J300-RZ TRD-J300-RZV TRD-J30-RZ 

TRD-J30-RZC TRD-J30-S TRD-J30-SW TRD-J600-RZL TRD-J600-RZV TRD-J600-RZW TRD-J600-S 

TRD-J600-SW TRD-J60-RZ TRD-J60-RZC TRD-J60-RZW TRD-J60-S TRD-J750-RZC TRD-J750-RZCW 

trd-gk系列(增量型)

特点:

1、增强型锭子的新设计,实现强力的轴负荷(径向100N/轴向50N)和长寿命(轴承寿命×1010转)

2、10mm的使用 不锈钢轴的刚性设计

3、高速响应、宽温度范围(- 10~70 C)

4、彻底的粉尘控制、防滴结构

5、扩展推挽输出电缆

6、调整未分类的简便方法

TRD-GK1000-RZ TRD-GK1000-RZC2 

TRD-GK100-BZ TRD-GK100-RZ TRD-GK1200-RZC2 TRD-GK120-BZ TRD-GK2000-BZC2 TRD-GK2000-RZ 

TRD-GK240-BZ TRD-GK2500-RZ TRD-GK3000-RZ TRD-GK3600-RZ TRD-GK360-BZ TRD-GK360-RZC2L 

TRD-GK5000-BZ TRD-GK500-BZC2 TRD-GK500-RZ TRD-GK600-RZ TRD-GK60-BZ TRD-GK800-RZC2 

TRD-K1024-YC2 TRD-K1024-YS TRD-K360-YC2 TRD-K360-YCS TRD-K512-YC2 TRD-K512-YS TRD-K720-YC2 TRD-K720-YS 

PLC型号:

SE-11R-EX SE-11R-C-EX SM-16R SM-16R-C SM-16T SM-16T-C SM-24R SM-24R-C SM-24T SM1-10R SM1-10T

SM1-16R SM1-28R SH1-32R1 SH1-32R2 SH1-48R1 SH1-48R2 SH1-48T2 SH1-64R1 SH1-64R2 SH1-64T2

H1-16CDR1 H1-16ND1 H-16TR1 H-8TR1 H1-4AD H1-2DA H1-4AD2DA SN-32DD-A1 SN-32DD-A2 SN-32DR-A1

SN-32DR-A2 SN-32DR-B1 SN-32DR-B2 SN-48DR-A1 SN-64DR-A1 SN-64DR-A3 SN-64DR-B1 SN-64DR-B3

D0-05AD D0-05AR D0-05DA D0-05AA D0-05DD D0-05DR D0-05DD-D D0-05DR-D

D0-06DD1 D0-06DD1-D D0-06DR D0-06DR-D D0-01MC F0-04AD-1 F0-2AD2DA-2 F0-4AD2DA-1 F0-4AD2DA-2

D0-DEVNETS D0-06LCD D0-07CDR D0-08CDD1 D0-08TR D0-10ND3 D0-10TD1 D0-10TD2 D0-16ND3 D0-16TD1

D0-16TD2 D2-230 D2-240 D2-250-1 D2-260 D2-04B-1 D2-06B-1 D2-09B-1 D2-06BDC-1 D2-09BDC-1

D2-08ND3 D2-16ND3-2 D2-32ND3 D2-08NA-1 D2-08NA-2 D2-16NA D2-08TR D2-08TD1 D2-08TA D2-12TA

D2-12TR D2-16TD1-2 D2-16TD2-2 D2-32TD1 D2-16TD1-2 D2-16TD2-2 D2-08CDR K2-04ADC K2-02DAC

K2-02Z K2-04THM F2-04RTD D2-CTRINT D2-DCM H2-ECOM H2-PBC D2-FILL Z-ROM1 SR-22-EX D3-350

SE-22 SR-21-EX E-01BJ-EX1 D3-05B-1 D3-05BDC D3-08B-1 D3-10B-1 D3-10BDC E-05J E-DMY E-01N

E-05N E-02N E-55N E-20N E-22N E-25N E-01T E-05T E-10T E-15T E-50T E-55T E-12T E-52T

E-14T E-20T E-21T E-01NT E-10NT E-05NT E-01D E-01Z E-01AD E-02AD E-03AD E-01DA E-02DA

E-02PP E-4ADC-1 E-4DAC E-8ADC E-8RLY-1 E-16ADC E-16DC E-12ABM R-21P-EX E-15PJ RB-5

SU-5 SU-5-C SU-5E SU-5E-C SU-5M SU-5M-C SU-6B-C SU-6B-EX

SU-6M SU-6M-C  U-04B  U-06B U-08B  G-03M G-05M

G-14M G-25M  U-01EW  U-01EW-C U-05N U-08N  U-20N

U-25N  U-50N  U-55N U-38N U-05S U-01T U-05T U-12T

U-15T U-18T U-20T  U-01AD-1 U-8ADC-1 U-01DA

U-4DAC-2 U-01Z U-01NI U-01DM U-01PM U-01SP

U-02RM U-02RS U-03PM U-05J U-10J U-4LTC

操作显示单元

CL-02DS CL-04DS EA3-DP400 EA3-30JSP EA3-30JD

接近开关型号

APS-11-4N APS-11-4T APS-12A-4N APS-12A-4T

APS-14-15N APS-14-15T APS-15-15N APS-15-15T APS-30-2N APS-30-2T

APS-30-4N APS-31-4N APS-31-4T APS-31-7N APS-31-7S APS10-18GK-E

APS10-18GK-E2 APS10-18GK-WS APS10-18GK-Z APS10-18GM-Z APS10-18GM-WS

APS10-30F-E APS10-30F-E2 APS10-30F-Z APS10-30GM-WS APS10-30GM-Z

光阳反

KCN-4SR KCN-4SR-C KCN-4ST KCN-4WR KCN-4ST-C KCN-4WR-C KCN-4WT KCN-4WT-C

KCN-4BR  KCN-4BR-C KCN-4BT KCN-4BT-C KCN-4T KCN-4T-C KCN-A4SR

KCN-A4SR-C KCN-A4ST KCN-A4ST-C KCV-4S KCV-4S-C KCV-4T KCV-4T-C

KCN-6ST KCN-6ST-C KCN-6WR KCN-6WR-C KCN-6WT KCN-6WT-C KCN-6BR

KCN-6BR-C KCN-6BT KCN-6BT-C KCN-6T KCN-6T-C KCN-A6SR KCN-A6SR-C

KCN-A6ST KCN-A6ST-C KCV-6S KCV-6S-C KCV-6T KCV-6T-C KC01-4WR KC01-6WR

F-20BNC2  F0-04AD-1  F0-04AD-2 F0-2AD2DA-2

F0-4AD2DA-1 F0-4AD2DA-2 F2-02DA1 F2-02DA2 F2-02DAS-1 F2-04AD1 F2-04AD2   

F2-04RTD F2-08AD1 F2-08AD2 F2-08DA-2 F2-08TRS F3-08AD-1 F3-08TRS-1 F4-04DA-2

现货供应:sg-8b  G-02W  G-01W  G-15T  G-01AD  G-55N  G-12T  G-01DA  

         G-01F  G-01DM  G-02DA  G-01Z  G-05N  G-18B g-28b需要随时查询!

触摸屏

EA1-S3MLEA1-S3ML-NEA1-S3ML-REA7-S6CEA7-S6C-CEA7-S6C-REA7-S6C-RCEA7-S6C-RSEA7-S6C-SEA7-S6MEA7-S6M-CEA7-S6M-REA7-S6M-RCEA7-S6M-RSEA7-S6M-S

EA7-T10CEA7-T10C-CEA7-T10C-SEA7-T12CEA7-T12C-CEA7-T12C-SEA7-T15CEA7-T15C-CEA7-T15C-SEA7-T6CEA7-T6C-CEA7-T6C-SEA7-T8CEA7-T8C-CEA7-T8C-SF-150J

F0-04AD-1F0-04AD-2F0-04TRSF0-2AD2DA-2F0-4AD2DA-1F0-4AD2DA-2F2-02DA-1F2-02DA-2F2-02DAS-1F2-04AD-1F2-04AD-2F2-04RTDF2-08AD-1F2-08AD-2F2-08DA-1F2-08DA-2F2-08TRSF2-4AD2DAF3-08AD-1F3-08TRS-1F4-04DA-2F4-08ADF4-08THM-KF4-16AD-1

FC-161F-CFC-21FC-321F-CFC-81F-CG-03MG-05MG-14MG-25MGC-15JDGC-15JD-U1GC-15JD-U2GC-15JSPGC-53LC3-1GC-53LC3/JGC-53LM3-1GC-53LM3/JGC-55EM2-1

GC-55EM2/JGC-56LC2-1GC-56LC2/JGC-SGP5GC-SGP5/E

模拟量输入模块,12位,8通道,4~20mA,1~5V,0~20mA,0~5V,0~10V,-5~5V,-10~10V U-8ADC-1 

F4-08AD 

模拟量输入模块,12位,2通道, 

1~5V,0~10V,4~20mA U-01DA D4-02DA 

模拟量输出模块,12位,4通道,4~20mA,0~5V,0~10V,-5~5V,-10~10V U-4DAC-2 F4-04DA 

温度控制模块,4通道,热电阻或热电偶输入,PID控制 U-4LTC F4-4LTC 

高速计数模块,100Kcps,加减计数 U-01Z D4-HSC 

中断输入模块,8点中断输入 U-01NI D4-INT 

PID运算模块,16路pid操作 U-16PID F4-16PID 

轴定位模块,单轴,脉冲输出 U-01PM    

填写模块 U-DMY D4-FILL 

上层通信模块,CCM网络 U-01DM D4-DCM 

输入输出通信模块,I/O通信或远程I/O主控模块 U-02RM D4-RM 

远程输入输出接口模块,子办公室使用,AC电源 U-02RS D4-RS 

远程输入输出接口模块,子办公室使用,DC24V电源 U-02RS-C D4-RSDC 

盒式磁带输入输出主模块 U-03RM D4-SM 

盒式磁带输入输出单元,8点8点输入/输出 U-03RS-NT1 D4-SS-88 

盒式磁带输入输出单元DC10点输入/DC6点输出 U-03RS-NT2 D4-SS-106 

基板扩展电缆,米 U-05J D4-EXCBL-2 

基板扩展电缆,1米 U-10J D4-EXCBL-1 

可编程逻辑控制器和附件D05

产品名称 ADC的订单号 单 价 

AC95~240V供电,AC110V输入,AC15~264V输出 D0-05AA 

AC95~240V供电,AC110V输入,晶体管输出 D0-05AD 

AC95~240V供电,AC110V输入,继电器输出,2A/点 D0-05AR  

AC95~240V供电,DC12/24V输入,AC15~264V输出 D0-05DA 

AC95~240V供电,DC12/24V输入,晶体管输出 D0-05DD 

AC95~240V供电,DC12/24V输入,继电器输出,2A/点 D0-05DR 

DC12 / 24V电源,DC12/24V输入,晶体管输出 D0-05DD-D 

DC12 / 24V电源,DC12/24V输入,继电器输出,2A/点 D0-05DR-D 

日历时钟,内存扩展模块 D0-01MC 

0~20m/A,4~20m/A 四通道电流模拟输入模块 D0-04AD-1 

devnets添加网络接口模块 D0-DEVNETS   

KOYO 光阳PLC 报价表 

集成可编程逻辑控制器,SM,SH系列

产品名称 该订单号 单价 

基本单元,15点24VDC输入/ 9点继电器输出,AC电源        SE-11R-EX 

基本单元,15点24VDC输入/ 9点继电器输出,DC24V电源     SE-11R-C-EX 

基本单元,10点24VDC输入/ 6点继电器输出,AC电源        SM-16R  

基本单元,10点24VDC输入/ 6点继电器输出,DC24V电源     SM-16R-C 

基本单元,10点24VDC输入/ 6点晶体管输出,AC电源        SM-16T 

基本单元,10点24VDC输入/ 6点晶体管输出,DC24V电源     SM-16T-C 

基本单元,14点24VDC输入/ 10点继电器输出,AC电源       SM-24R 

基本单元,14点24VDC输入/ 10点继电器输出,DC24V电源 SM-24R-C  

5点dc24vnpn输入/ 5点继电器输出  AC电源  10点   SM1-10R

基本单元,14点24VDC输入/ 10点晶体管输出,AC电源 SM-24T 

基本单元,16点24VDC输入/ 16点继电器输出,AC电源 SH-32R1  

基本单元,20点24VDC输入/ 12点继电器输出,AC电源 SH-32R2 

基本单元,20点24VDC输入/ 12点继电器输出,DC24V电源 SH-32R2-C 

基本单元,16点24VDC输入/ 16点晶体管输出,AC电源 SH-32T1 

基本单元,24点24VDC输入/ 24点继电器输出,AC电源 SH-48R1 

基本单元,24点24VDC输入/ 24点继电器输出,DC24V电源 SH-48R1-C 

基本单元,28点24VDC输入/ 20点继电器输出,AC电源 SH-48R2 

基本单元,24点24VDC输入/ 24点晶体管输出,AC电源 SH-48T1 

基本单元,28点24VDC输入/ 20点晶体管输出,AC电源 SH-48T2-A 

基本单元,32点24VDC输入/ 20点继电器输出,AC电源 SH-52R1 

基本单元,32点24VDC输入/ 32点继电器输出,AC电源 SH-64R1 

基本单元,32点24VDC输入/ 32点继电器输出,DC24V电源 SH-64R1-C 

基本单元,36点24VDC输入/ 28点继电器输出,AC电源 SH-64R2 

扩展单元,8点24VDC输入/ 8点继电器输出,无电源 H-16CDR1 

扩展单元。8点24VDC输入/ 8点晶体管输出,无电源 H-16CDT1

扩展单元,16点继电器输出,无电源 H-16TR1 

扩展单元,16点24VDC输入,无电源 H-16ND1 

4通道模拟输入,2通道模拟输出 H-6A1 

 SA-21

【Arduino】旋转编码器的Arduino使用方法 – Alex Leo

在使用CRT显示器之前,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,它比多个按钮要方便得多。。

鼠标滚轮也是这种操作方法。,旋转 点击,只是不同的方向。最近在网上买了旋转编码器模块,我想在实际生产中使用它。。在网上寻找大量的信息,测试发现代码或多或少有问题。。于是决定自己研究一下旋转编码器的原理,只有高和低的水平应该相对简单。。

我买的旋转编码器模块有5个引脚,VCC分别, GND, SW, CLK, DT。其中,VCC和GND被用来连接电源和接地。,缩写SW应该是开关(开关)。、时钟是时钟(时钟)、DT是数据(数据)。

网上的信息不太理想。,但是引进的基本原则是没有问题的。。旋转编码器的操作是旋转和按压转轴,当转轴受到挤压时,SW销的水平会发生变化。,当旋转时,CLK和dt的水平随着每次转动而有规律地变化。。在只有电源的情况下,首先测量中的铅水平的变化,没有示波器,电压必须用万用表测量。。

点击:SW(红色) 接地(黑色),按下和释放按钮没有任何变化。,VCC(红色) SW(黑色)在0释放,高压时按压。可以推断,SW通常是一个高阻抗状态。,接地时,压。用Arduino检测的方法是设置连接SW的引脚为INPUT并上拉输出高电平,当针低时,按钮被按下。,下面的代码可以正确地检测按钮的变化。

//定义引脚连接int SW= 4;  // SW->D4bool lastButtonStatus = false;
 
void setup()
{
  pinMode(SW, 输入)
  digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。
  (9600);
}
 
void loop()
{
  bool buttonStatus = !digitalRead(SW);//高压不压,国家是假的if (buttonStatus != lastButtonStatus)
  {
    (buttonStatus ? "pressed" : "released");
    lastButtonStatus = buttonStatus;//保存当前状态  }
  delay(100);
}

旋转:时钟(红色) 接地(黑色),一次旋转(不考虑方向),电平转换一次,DT(红色) 接地(黑色),这种变化与以前的情况是一致的。,CLK和dt的水平是一致的。。VCC(红色) 时钟(黑色),同样的VCC(红色) dt(黑色)也是如此。。时钟(红色) dt(黑色)或CLK(黑色) dt(红色),每一个旋转(和方向无关),指针轻微摆动。,两个相邻指针的方向相反。。结论:时钟和DAT引脚的水平变化每次他们旋转,水平变化有时差,但是你不知道它会旋转哪个方向。。

编写测试代码,按下按钮时,读取时钟和dt的值。:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5 6void setup()
 7{
 8  pinMode(SW, 输入)
 9   digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。10  pinMode(CLK, 输入)
11  pinMode(DT, 输入)
12   (9600);
13}
1415void loop()
16{
17if (!digitalRead(SW)) //当按下按钮时,读取CLK和dt的值。18  {
19int clkValue = digitalRead(CLK);//读取CLK引脚的电平20int dtValue = digitalRead(DT);//读取dt引脚的级别21     Serial.print("CLK:");
22    Serial.print(clkValue);
23     Serial.print("; DT:");
24    (dtValue);
25     delay(1000);
26  }
27 }

测试发现顺时针或逆时针旋转。,在按下每个按钮后,CLK和dt值是一样的。,两个相邻步骤之间的值是不同的。,符合用万用表测量的结果。

CLK和DT测试表明,有一定的时间差,可以用Arduino在CLK电平变化的瞬间读取DT的值,也许你会找到法律。通过中断0改变时钟上的电平变化,读取时钟和dt的电平值:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 5 6void setup()
 7{
 8  pinMode(CLK, 输入)
 9  pinMode(DT, 输入)
10   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发11   (9600);
12}
1314void loop()
15{
16}
1718//中断处理函数19void ClockChanged()
20{
21int clkValue = digitalRead(CLK);//读取CLK引脚的电平22int dtValue = digitalRead(DT);//读取dt引脚的级别23   Serial.print("CLK:");
24  Serial.print(clkValue);
25   Serial.print("; DT:");
26  (dtValue);
27 }

顺时针旋转一步:

顺时针旋转3步(水平线分隔):

逆时针旋转3步(水平线分隔):

根据以上测试结果,每个旋转触发的中断数是不一致的。,这可能是硬件本身造成的。,类似按键抖动。经过多次试验,查看每个更改的最后一组值,时钟和dt的值在顺时针旋转时不一致。,CLK和DT的价值观是一致的逆时针旋转。修改代码,按顺时针方向将计数加1。,计数器计数1计数器计数,按下按钮,时钟计数清零。。

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 6int count = 0;//计数值 7int lastCLK = 0;//时钟的历史价值 8 9void setup()
10{
11  pinMode(SW, 输入)
12  digitalWrite(SW, 高)
13  pinMode(CLK, 输入)
14  pinMode(DT, 输入)
15   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发16   (9600);
17}
1819void loop()
20{
21if (!digitalRead(SW) && count != 0) //向下读取按钮,计数值不是0,计数器清零。22  {
23     count = 0;
24     Serial.print("count:");
25    (计数)
26  }
27}
2829//中断处理函数30void ClockChanged()
31{
32int clkValue = digitalRead(CLK);//读取CLK引脚的电平33int dtValue = digitalRead(DT);//读取dt引脚的级别34if (lastCLK != clkValue)
35  {
36     lastCLK = clkValue;
37     count += (clkValue != dtValue ? 1 : -1);//当时钟和dt是不一致的,  1,另有138     Serial.print("count:");
39    (计数)
40  }
41 }

测试发现,大多数情况下您可以正确输出。:


偶尔的旋转不是很平稳,会是跳跃的情况。,在这一点上,你可以感觉到两个步骤之间的旋钮。。有人说最好是在针之间接上滤波电容。,实际测试没有发现改进。。推测因为旋钮是D,当你转动你的手时,它会弹跳。,你应该避免这个当你把一个旋钮帽。

旋转编码器可以用于需要精确调整值(电位器不准确),操作菜单及其他场合。后续会使用旋转编码器制作一些小东西,也欢迎大家分享旋转编码器相关代码。

【现货供应内密控NEMICON编码器HES-006-2MD】,价格,厂家,供应商,其他电子元器件,上海鑫姆瑞电子有限公司 – 产品库

产品名称:紧凑hes-006-2md NEMICON编码器现货供应

产品链接:

手机联系:

我公司是NEMICON闭环控制编码器一级代理 大量现货  还有现货替代品。

上海渡边电子 黄小姐

常用的库存模型如下:

OVW2编码器 30 / R经济系列– 3600p / R

他编 小空心系列30P/R-3600p / R

开源编码器 迷你系列60p——500P / R / R

SBS编码器 超薄中空系列500P / R——3000p / R

NOC-S编码器 30P/R-5000p / R系列抗恶劣环境

noc-sp编码器的高精度和恶劣的环境,10000p系列30P/R / R

SBH编码器 空心系列100P / R,1000p / R

打开编码器 通用型系列 100P/R–5000P/R

该编码器 一系列的空心30P/R,耐恶劣环境3600p / R

NE编码器 最坚固的系列1000p / R,5000p / R

ASE编码器 绝对值空心型串联二值负逻辑

OEK编码器 法兰式通用系列50便士/ R,600p / R

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NE-1024-2MD  NE-20-2MD  NE-2048-2MD NE-25-2MD  NE-4096-2MD  NE-50-2MD

HES-006-2MHC

HES-006-2MHT HES-006-2MD HES-006-2M

HES-01-2MHC HES-01-2MHT HES-01-2MD HES-01-2M

HES-02-2MHC HES-02-2MHT HES-02-2MD HES-02-2M

HES-03-2MHC HES-03-2MHT HES-03-2MD HES-03-2M

HES-036-2MHC HES-036-2MHT HES-036-2MD HES-036-2M

HES-04-2MHC HES-04-2MHT HES-04-2MD HES-04-2M

HES-05-2MHC HES-05-2MHT HES-05-2MD HES-05-2M

HES-0512-2MHC HES-0512-2MHT HES-0512-2MD HES-0512-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

HES-06-2MHC HES-06-2MHT HES-06-2MD HES-06-2M

HES-08-2MHC HES-08-2MHT HES-08-2MD HES-08-2M

HES-09-2MHC HES-09-2MHT HES-09-2MD HES-09-2M

HES-10-2MHC HES-10-2MHT HES-10-2MD HES-10-2M

HES-1024-2MHC HES-1024-2MHT HES-1024-2MD HES-1024-2M

HES-12-2MHC HES-12-2MHT HES-12-2MD HES-12-2M

HES-15-2MHC HES-15-2MHT HES-15-2MD HES-15-2M

HES-18-2MHC HES-18-2MHT HES-18-2MD HES-18-2M

HES-20-2MHC HES-20-2MHT HES-20-2MD HES-20-2M

HES-2048-2MHC HES-2048-2MHT HES-2048-2MD HES-2048-2M

HES-25-2MHC HES-25-2MHT HES-25-2MD HES-25-2M

HES-36-2MHC HES-36-2MHT HES-36-2MD HES-36-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

OVW2-006-2MHC    OVW2-006-2MHT  OVW2-006-2MD    OVW2-006-2M

OVW2-01-2MHC    OVW2-01-2MHT    OVW2-01-2MD    OVW2-01-2M

OVW2-02-2MHC    OVW2-02-2MHT    OVW2-02-2MD    OVW2-02-2M

OVW2-03-2MHC    OVW2-03-2MHT    OVW2-03-2MD    OVW2-03-2M

OVW2-036-2MHC      OVW2-036-2MHT  OVW2-036-2MD    OVW2-036-2M

OVW2-04-2MHC    OVW2-04-2MHT    OVW2-04-2MD    OVW2-04-2M

OVW2-05-2MHC    OVW2-05-2MHT    OVW2-05-2MD    OVW2-05-2M

OVW2-06-2MHC    OVW2-06-2MHT    OVW2-06-2MD    OVW2-06-2M

OVW2-08-2MHC    OVW2-08-2MHT    OVW2-08-2MD    OVW2-08-2M

OVW2-09-2MHC    OVW2-09-2MHT    OVW2-09-2MD   

大量现货  还有现货替代品。

上海渡边电子 黄小姐

OVW2-09-2M

OVW2-10-2MHC    OVW2-10-2MHT    OVW2-10-2MD    OVW2-10-2M

OVW2-1024-2MHC    OVW2-1024-2MHT OVW2-1024-2MD OVW2-1024-2M

OVW2-12-2MHC    OVW2-12-2MHT    OVW2-12-2MD    OVW2-12-2M

OVW2-15-2MHC    OVW2-15-2MHT    OVW2-15-2MD    OVW2-15-2M

OVW2-18-2MHC    OVW2-18-2MHT    OVW2-18-2MD    OVW2-18-2M

OVW2-20-2MHC    OVW2-20-2MHT    OVW2-20-2MD    OVW2-20-2M

OVW2-2048-2MHC    OVW2-2048-2MHT OVW2-2048-2MD OVW2-2048-2M

OVW2-25-2MHC    OVW2-25-2MHT    OVW2-25-2MD    OVW2-25-2M

OVW2-36-2MHC    OVW2-36-2MHT    OVW2-36-2MD    OVW2-36-2M

OVW2-25-2MD  OVF-003-2MC OVF-003-2M OVF-003-2MHC

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-S10-2HC  NOC-S10-2MHT NOC-S10-2MD NOC-S10-2M

NOC-S100-2HC  NOC-S100-2MHT NOC-S100-2MD NOC-S100-2M

NOC-S360-2HC  NOC-S360-2MHT NOC-S360-2MD NOC-S360-2M

NOC-S500-2HC  NOC-S500-2MHT NOC-S500-2MD NOC-S500-2M

NOC-S1000-2HC  NOC-S1000-2MHT NOC-S1000-2MD NOC-S1000-2M

NOC-S1024-2HC  NOC-S1024-2MHT NOC-S1024-2MD NOC-S1024-2M

NOC-S2000-2HC  NOC-S2000-2MHT NOC-S2000-2MD NOC-S2000-2M

NOC-S2048-2HC  NOC-S2048-2MHT NOC-S2048-2MD NOC-S2048-2M

NOC-S2500-2HC  NOC-S2500-2MHT NOC-S2500-2MD NOC-S2500-2M

NOC-S3600-2HC  NOC-S3600-2MHT NOC-S3600-2MD NOC-S3600-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-S10-2MHC  NOC-S10-2MWT    

NOC-S100-2MHC  NOC-S100-2MWT    

NOC-S360-2MHC  NOC-S360-2MWT    

NOC-S500-2MHC  NOC-S500-2MWT    

NOC-S1000-2MHC  NOC-S1000-2MWT    

NOC-S1024-2MHC  NOC-S1024-2MWT    

NOC-S2000-2MHC  NOC-S2000-2MWT    

NOC-S2048-2MHC  NOC-S2048-2MWT    

NOC-S2500-2MHC  NOC-S2500-2MWT    

NOC-S3600-2MHC  NOC-S3600-2MWT    

NOC-S4096-2MHC  NOC-S4096-2MWT    

NOC-S5000-2MHC  NOC-S5000-2MWT

NOC-SP30-2M NOC-SP30-2MC NOC-SP30-2MHC

NOC-SP40-2M NOC-SP40-2MC NOC-SP40-2MHC

NOC-SP60-2M NOC-SP60-2MC NOC-SP60-2MHC

NOC-SP100-2M NOC-SP100-2MC NOC-SP100-2MHC

NOC-SP120-2M NOC-SP120-2MC NOC-SP120-2MHC

NOC-SP200-2M NOC-SP200-2MC NOC-SP200-2MHC

NOC-SP250-2M NOC-SP250-2MC NOC-SP250-2MHC

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-SP300-2M NOC-SP300-2MC NOC-SP300-2MHC

NOC-SP360-2M NOC-SP360-2MC NOC-SP360-2MHC

NOC-SP400-2M NOC-SP400-2MC NOC-SP400-2MHC

NOC-SP500-2M NOC-SP500-2MC NOC-SP500-2MHC

NOC-SP512-2M NOC-SP512-2MC NOC-SP512-2MHC

NOC-SP600-2M NOC-SP600-2MC NOC-SP600-2MHC

NOC-SP900-2M NOC-SP900-2MC NOC-SP900-2MHC

NOC-SP1000-2M NOC-SP1000-2MC NOC-SP1000-2MHC

NOC-SP1024-2M NOC-SP1024-2MC NOC-SP1024-2MHC

NOC-SP1200-2M NOC-SP1200-2MC NOC-SP1200-2MHC

NOC-SP1500-2M NOC-SP1500-2MC NOC-SP1500-2MHC

NOC-SP1800-2M NOC-SP1800-2MC NOC-SP1800-2MHC

NOC-SP2000-2M NOC-SP2000-2MC NOC-SP2000-2MHC

NOC-SP2048-2M NOC-SP2048-2MC NOC-SP2048-2MHC

NOC-SP2500-2M NOC-SP2500-2MC NOC-SP2500-2MHC

NOC-SP4096-2M NOC-SP4096-2MC NOC-SP4096-2MHC

NOC-SP5000-2M NOC-SP5000-2MC NOC-SP5000-2MHC

NOC-SP10000-2M NOC-SP10000-2MC NOC-SP10000-2MHC

SBH-0512-2T SBH-0512-2MT SBH-0512-2MD

SBH-1024-2T SBH-1024-2MT SBH-1024-2MD

大量现货  还有现货替代品。

上海渡边电子 黄小姐 

SBH-100-2T SBH-100-2MT SBH-100-2MD

OPN-01-2M OPN-01-2MC OPN-01-2MHC

OPN-036-2M OPN-036-2MC OPN-036-2MHC

OPN-10-2M OPN-10-2MC OPN-10-2MHC

OPN-20-2M OPN-20-2MC OPN-20-2MHC

OPN-4096-2M OPN-4096-2MC OPN-4096-2MHC

OPN-02-2M OPN-02-2MC OPN-02-2MHC

OPN-05-2M OPN-05-2MC OPN-05-2MHC

OPN-1024-2M OPN-1024-2MC OPN-1024-2MHC

OPN-2048-2M OPN-2048-2MC OPN-2048-2MHC

OPN-50-2M OPN-50-2MC OPN-50-2MHC

【现货供应内密控NEMICON编码器HES-006-2MD】,价格,厂家,供应商,其他电子元器件,上海鑫姆瑞电子有限公司 – 产品库

产品名称:紧凑hes-006-2md NEMICON编码器现货供应

产品链接:

手机联系:

我公司是NEMICON闭环控制编码器一级代理 大量现货  还有现货替代品。

上海渡边电子 黄小姐

常用的库存模型如下:

OVW2编码器 30 / R经济系列– 3600p / R

他编 小空心系列30P/R-3600p / R

开源编码器 迷你系列60p——500P / R / R

SBS编码器 超薄中空系列500P / R——3000p / R

NOC-S编码器 30P/R-5000p / R系列抗恶劣环境

noc-sp编码器的高精度和恶劣的环境,10000p系列30P/R / R

SBH编码器 空心系列100P / R,1000p / R

打开编码器 通用型系列 100P/R–5000P/R

该编码器 一系列的空心30P/R,耐恶劣环境3600p / R

NE编码器 最坚固的系列1000p / R,5000p / R

ASE编码器 绝对值空心型串联二值负逻辑

OEK编码器 法兰式通用系列50便士/ R,600p / R

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NE-1024-2MD  NE-20-2MD  NE-2048-2MD NE-25-2MD  NE-4096-2MD  NE-50-2MD

HES-006-2MHC

HES-006-2MHT HES-006-2MD HES-006-2M

HES-01-2MHC HES-01-2MHT HES-01-2MD HES-01-2M

HES-02-2MHC HES-02-2MHT HES-02-2MD HES-02-2M

HES-03-2MHC HES-03-2MHT HES-03-2MD HES-03-2M

HES-036-2MHC HES-036-2MHT HES-036-2MD HES-036-2M

HES-04-2MHC HES-04-2MHT HES-04-2MD HES-04-2M

HES-05-2MHC HES-05-2MHT HES-05-2MD HES-05-2M

HES-0512-2MHC HES-0512-2MHT HES-0512-2MD HES-0512-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

HES-06-2MHC HES-06-2MHT HES-06-2MD HES-06-2M

HES-08-2MHC HES-08-2MHT HES-08-2MD HES-08-2M

HES-09-2MHC HES-09-2MHT HES-09-2MD HES-09-2M

HES-10-2MHC HES-10-2MHT HES-10-2MD HES-10-2M

HES-1024-2MHC HES-1024-2MHT HES-1024-2MD HES-1024-2M

HES-12-2MHC HES-12-2MHT HES-12-2MD HES-12-2M

HES-15-2MHC HES-15-2MHT HES-15-2MD HES-15-2M

HES-18-2MHC HES-18-2MHT HES-18-2MD HES-18-2M

HES-20-2MHC HES-20-2MHT HES-20-2MD HES-20-2M

HES-2048-2MHC HES-2048-2MHT HES-2048-2MD HES-2048-2M

HES-25-2MHC HES-25-2MHT HES-25-2MD HES-25-2M

HES-36-2MHC HES-36-2MHT HES-36-2MD HES-36-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

OVW2-006-2MHC    OVW2-006-2MHT  OVW2-006-2MD    OVW2-006-2M

OVW2-01-2MHC    OVW2-01-2MHT    OVW2-01-2MD    OVW2-01-2M

OVW2-02-2MHC    OVW2-02-2MHT    OVW2-02-2MD    OVW2-02-2M

OVW2-03-2MHC    OVW2-03-2MHT    OVW2-03-2MD    OVW2-03-2M

OVW2-036-2MHC      OVW2-036-2MHT  OVW2-036-2MD    OVW2-036-2M

OVW2-04-2MHC    OVW2-04-2MHT    OVW2-04-2MD    OVW2-04-2M

OVW2-05-2MHC    OVW2-05-2MHT    OVW2-05-2MD    OVW2-05-2M

OVW2-06-2MHC    OVW2-06-2MHT    OVW2-06-2MD    OVW2-06-2M

OVW2-08-2MHC    OVW2-08-2MHT    OVW2-08-2MD    OVW2-08-2M

OVW2-09-2MHC    OVW2-09-2MHT    OVW2-09-2MD   

大量现货  还有现货替代品。

上海渡边电子 黄小姐

OVW2-09-2M

OVW2-10-2MHC    OVW2-10-2MHT    OVW2-10-2MD    OVW2-10-2M

OVW2-1024-2MHC    OVW2-1024-2MHT OVW2-1024-2MD OVW2-1024-2M

OVW2-12-2MHC    OVW2-12-2MHT    OVW2-12-2MD    OVW2-12-2M

OVW2-15-2MHC    OVW2-15-2MHT    OVW2-15-2MD    OVW2-15-2M

OVW2-18-2MHC    OVW2-18-2MHT    OVW2-18-2MD    OVW2-18-2M

OVW2-20-2MHC    OVW2-20-2MHT    OVW2-20-2MD    OVW2-20-2M

OVW2-2048-2MHC    OVW2-2048-2MHT OVW2-2048-2MD OVW2-2048-2M

OVW2-25-2MHC    OVW2-25-2MHT    OVW2-25-2MD    OVW2-25-2M

OVW2-36-2MHC    OVW2-36-2MHT    OVW2-36-2MD    OVW2-36-2M

OVW2-25-2MD  OVF-003-2MC OVF-003-2M OVF-003-2MHC

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-S10-2HC  NOC-S10-2MHT NOC-S10-2MD NOC-S10-2M

NOC-S100-2HC  NOC-S100-2MHT NOC-S100-2MD NOC-S100-2M

NOC-S360-2HC  NOC-S360-2MHT NOC-S360-2MD NOC-S360-2M

NOC-S500-2HC  NOC-S500-2MHT NOC-S500-2MD NOC-S500-2M

NOC-S1000-2HC  NOC-S1000-2MHT NOC-S1000-2MD NOC-S1000-2M

NOC-S1024-2HC  NOC-S1024-2MHT NOC-S1024-2MD NOC-S1024-2M

NOC-S2000-2HC  NOC-S2000-2MHT NOC-S2000-2MD NOC-S2000-2M

NOC-S2048-2HC  NOC-S2048-2MHT NOC-S2048-2MD NOC-S2048-2M

NOC-S2500-2HC  NOC-S2500-2MHT NOC-S2500-2MD NOC-S2500-2M

NOC-S3600-2HC  NOC-S3600-2MHT NOC-S3600-2MD NOC-S3600-2M

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-S10-2MHC  NOC-S10-2MWT    

NOC-S100-2MHC  NOC-S100-2MWT    

NOC-S360-2MHC  NOC-S360-2MWT    

NOC-S500-2MHC  NOC-S500-2MWT    

NOC-S1000-2MHC  NOC-S1000-2MWT    

NOC-S1024-2MHC  NOC-S1024-2MWT    

NOC-S2000-2MHC  NOC-S2000-2MWT    

NOC-S2048-2MHC  NOC-S2048-2MWT    

NOC-S2500-2MHC  NOC-S2500-2MWT    

NOC-S3600-2MHC  NOC-S3600-2MWT    

NOC-S4096-2MHC  NOC-S4096-2MWT    

NOC-S5000-2MHC  NOC-S5000-2MWT

NOC-SP30-2M NOC-SP30-2MC NOC-SP30-2MHC

NOC-SP40-2M NOC-SP40-2MC NOC-SP40-2MHC

NOC-SP60-2M NOC-SP60-2MC NOC-SP60-2MHC

NOC-SP100-2M NOC-SP100-2MC NOC-SP100-2MHC

NOC-SP120-2M NOC-SP120-2MC NOC-SP120-2MHC

NOC-SP200-2M NOC-SP200-2MC NOC-SP200-2MHC

NOC-SP250-2M NOC-SP250-2MC NOC-SP250-2MHC

大量现货  还有现货替代品。

上海渡边电子 黄小姐

NOC-SP300-2M NOC-SP300-2MC NOC-SP300-2MHC

NOC-SP360-2M NOC-SP360-2MC NOC-SP360-2MHC

NOC-SP400-2M NOC-SP400-2MC NOC-SP400-2MHC

NOC-SP500-2M NOC-SP500-2MC NOC-SP500-2MHC

NOC-SP512-2M NOC-SP512-2MC NOC-SP512-2MHC

NOC-SP600-2M NOC-SP600-2MC NOC-SP600-2MHC

NOC-SP900-2M NOC-SP900-2MC NOC-SP900-2MHC

NOC-SP1000-2M NOC-SP1000-2MC NOC-SP1000-2MHC

NOC-SP1024-2M NOC-SP1024-2MC NOC-SP1024-2MHC

NOC-SP1200-2M NOC-SP1200-2MC NOC-SP1200-2MHC

NOC-SP1500-2M NOC-SP1500-2MC NOC-SP1500-2MHC

NOC-SP1800-2M NOC-SP1800-2MC NOC-SP1800-2MHC

NOC-SP2000-2M NOC-SP2000-2MC NOC-SP2000-2MHC

NOC-SP2048-2M NOC-SP2048-2MC NOC-SP2048-2MHC

NOC-SP2500-2M NOC-SP2500-2MC NOC-SP2500-2MHC

NOC-SP4096-2M NOC-SP4096-2MC NOC-SP4096-2MHC

NOC-SP5000-2M NOC-SP5000-2MC NOC-SP5000-2MHC

NOC-SP10000-2M NOC-SP10000-2MC NOC-SP10000-2MHC

SBH-0512-2T SBH-0512-2MT SBH-0512-2MD

SBH-1024-2T SBH-1024-2MT SBH-1024-2MD

大量现货  还有现货替代品。

上海渡边电子 黄小姐 

SBH-100-2T SBH-100-2MT SBH-100-2MD

OPN-01-2M OPN-01-2MC OPN-01-2MHC

OPN-036-2M OPN-036-2MC OPN-036-2MHC

OPN-10-2M OPN-10-2MC OPN-10-2MHC

OPN-20-2M OPN-20-2MC OPN-20-2MHC

OPN-4096-2M OPN-4096-2MC OPN-4096-2MHC

OPN-02-2M OPN-02-2MC OPN-02-2MHC

OPN-05-2M OPN-05-2MC OPN-05-2MHC

OPN-1024-2M OPN-1024-2MC OPN-1024-2MHC

OPN-2048-2M OPN-2048-2MC OPN-2048-2MHC

OPN-50-2M OPN-50-2MC OPN-50-2MHC

【Arduino】旋转编码器的Arduino使用方法 – Alex Leo

在使用CRT显示器之前,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,它比多个按钮要方便得多。。

鼠标滚轮也是这种操作方法。,旋转 点击,只是不同的方向。最近在网上买了旋转编码器模块,我想在实际生产中使用它。。在网上寻找大量的信息,测试发现代码或多或少有问题。。于是决定自己研究一下旋转编码器的原理,只有高和低的水平应该相对简单。。

我买的旋转编码器模块有5个引脚,VCC分别, GND, SW, CLK, DT。其中,VCC和GND被用来连接电源和接地。,缩写SW应该是开关(开关)。、时钟是时钟(时钟)、DT是数据(数据)。

网上的信息不太理想。,但是引进的基本原则是没有问题的。。旋转编码器的操作是旋转和按压转轴,当转轴受到挤压时,SW销的水平会发生变化。,当旋转时,CLK和dt的水平随着每次转动而有规律地变化。。在只有电源的情况下,首先测量中的铅水平的变化,没有示波器,电压必须用万用表测量。。

点击:SW(红色) 接地(黑色),按下和释放按钮没有任何变化。,VCC(红色) SW(黑色)在0释放,高压时按压。可以推断,SW通常是一个高阻抗状态。,接地时,压。用Arduino检测的方法是设置连接SW的引脚为INPUT并上拉输出高电平,当针低时,按钮被按下。,下面的代码可以正确地检测按钮的变化。

//定义引脚连接int SW= 4;  // SW->D4bool lastButtonStatus = false;
 
void setup()
{
  pinMode(SW, 输入)
  digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。
  (9600);
}
 
void loop()
{
  bool buttonStatus = !digitalRead(SW);//高压不压,国家是假的if (buttonStatus != lastButtonStatus)
  {
    (buttonStatus ? "pressed" : "released");
    lastButtonStatus = buttonStatus;//保存当前状态  }
  delay(100);
}

旋转:时钟(红色) 接地(黑色),一次旋转(不考虑方向),电平转换一次,DT(红色) 接地(黑色),这种变化与以前的情况是一致的。,CLK和dt的水平是一致的。。VCC(红色) 时钟(黑色),同样的VCC(红色) dt(黑色)也是如此。。时钟(红色) dt(黑色)或CLK(黑色) dt(红色),每一个旋转(和方向无关),指针轻微摆动。,两个相邻指针的方向相反。。结论:时钟和DAT引脚的水平变化每次他们旋转,水平变化有时差,但是你不知道它会旋转哪个方向。。

编写测试代码,按下按钮时,读取时钟和dt的值。:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5 6void setup()
 7{
 8  pinMode(SW, 输入)
 9   digitalWrite(SW, 高)//连接按钮的引脚被设置为上拉。10  pinMode(CLK, 输入)
11  pinMode(DT, 输入)
12   (9600);
13}
1415void loop()
16{
17if (!digitalRead(SW)) //当按下按钮时,读取CLK和dt的值。18  {
19int clkValue = digitalRead(CLK);//读取CLK引脚的电平20int dtValue = digitalRead(DT);//读取dt引脚的级别21     Serial.print("CLK:");
22    Serial.print(clkValue);
23     Serial.print("; DT:");
24    (dtValue);
25     delay(1000);
26  }
27 }

测试发现顺时针或逆时针旋转。,在按下每个按钮后,CLK和dt值是一样的。,两个相邻步骤之间的值是不同的。,符合用万用表测量的结果。

CLK和DT测试表明,有一定的时间差,可以用Arduino在CLK电平变化的瞬间读取DT的值,也许你会找到法律。通过中断0改变时钟上的电平变化,读取时钟和dt的电平值:

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 5 6void setup()
 7{
 8  pinMode(CLK, 输入)
 9  pinMode(DT, 输入)
10   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发11   (9600);
12}
1314void loop()
15{
16}
1718//中断处理函数19void ClockChanged()
20{
21int clkValue = digitalRead(CLK);//读取CLK引脚的电平22int dtValue = digitalRead(DT);//读取dt引脚的级别23   Serial.print("CLK:");
24  Serial.print(clkValue);
25   Serial.print("; DT:");
26  (dtValue);
27 }

顺时针旋转一步:

顺时针旋转3步(水平线分隔):

逆时针旋转3步(水平线分隔):

根据以上测试结果,每个旋转触发的中断数是不一致的。,这可能是硬件本身造成的。,类似按键抖动。经过多次试验,查看每个更改的最后一组值,时钟和dt的值在顺时针旋转时不一致。,CLK和DT的价值观是一致的逆时针旋转。修改代码,按顺时针方向将计数加1。,计数器计数1计数器计数,按下按钮,时钟计数清零。。

 1//定义引脚连接 2int CLK = 2;//CLK->D2 3int DT = 3;//DT->D3 4int SW = 4;//SW->D4 5constint interrupt0 = 0;// Interrupt 0 在 pin 2 上 6int count = 0;//计数值 7int lastCLK = 0;//时钟的历史价值 8 9void setup()
10{
11  pinMode(SW, 输入)
12  digitalWrite(SW, 高)
13  pinMode(CLK, 输入)
14  pinMode(DT, 输入)
15   attachInterrupt(interrupt0, ClockChanged, 改变)//设置中断0处理函数,水平的变化触发16   (9600);
17}
1819void loop()
20{
21if (!digitalRead(SW) && count != 0) //向下读取按钮,计数值不是0,计数器清零。22  {
23     count = 0;
24     Serial.print("count:");
25    (计数)
26  }
27}
2829//中断处理函数30void ClockChanged()
31{
32int clkValue = digitalRead(CLK);//读取CLK引脚的电平33int dtValue = digitalRead(DT);//读取dt引脚的级别34if (lastCLK != clkValue)
35  {
36     lastCLK = clkValue;
37     count += (clkValue != dtValue ? 1 : -1);//当时钟和dt是不一致的,  1,另有138     Serial.print("count:");
39    (计数)
40  }
41 }

测试发现,大多数情况下您可以正确输出。:


偶尔的旋转不是很平稳,会是跳跃的情况。,在这一点上,你可以感觉到两个步骤之间的旋钮。。有人说最好是在针之间接上滤波电容。,实际测试没有发现改进。。推测因为旋钮是D,当你转动你的手时,它会弹跳。,你应该避免这个当你把一个旋钮帽。

旋转编码器可以用于需要精确调整值(电位器不准确),操作菜单及其他场合。后续会使用旋转编码器制作一些小东西,也欢迎大家分享旋转编码器相关代码。