绝对值编码器十六进制输入
Absolute Encoder hexadecimal input
问题:如何从绝对编码器接收输入,使其以 hexadecimal/grey 代码输出到 Arduino?我应该使用 digitalRead
还是 analogRead
命令?我在网上找不到带有绝对编码器的示例 code/projects。
总体Objective:我想使用绝对编码器作为项目的旋钮。这个想法是编码器将输出其位置作为状态,以在 case 语句中使用。即:
案例 1:analogRead(absEncdr == 00)
arduino 进入空闲例程
案例 2:analogRead(absEncdr == 11)
arduino进入按键例程
等等
详情:绝对编码器型号:25LB22-G
编码器数据表是 here.
我正在使用十六进制/格雷码 4 位二进制代码十六进制-16 位置编码器版本
基本上,我不确定如何将这个 abs 编码器读入我的 Arduino。
要阅读,您需要四个数字引脚。您可以读取四个引脚并将这些值移位到一个字节中,您可以将其与 data-sheet 中的 table 进行比较。
byte position = (digitalRead(pin8) << 3) | (digitalRead(pin4) << 2) | (digitalRead(pin2) << 1) | digitalRead(pin1);
假设引脚的命名与数据sheet 中的真实 table 相同。
我们正在使用 OR 运算符 |将它们放在同一个字节中。
问题:如何从绝对编码器接收输入,使其以 hexadecimal/grey 代码输出到 Arduino?我应该使用 digitalRead
还是 analogRead
命令?我在网上找不到带有绝对编码器的示例 code/projects。
总体Objective:我想使用绝对编码器作为项目的旋钮。这个想法是编码器将输出其位置作为状态,以在 case 语句中使用。即:
案例 1:analogRead(absEncdr == 00)
arduino 进入空闲例程
案例 2:analogRead(absEncdr == 11)
arduino进入按键例程
等等
详情:绝对编码器型号:25LB22-G 编码器数据表是 here.
我正在使用十六进制/格雷码 4 位二进制代码十六进制-16 位置编码器版本
基本上,我不确定如何将这个 abs 编码器读入我的 Arduino。
要阅读,您需要四个数字引脚。您可以读取四个引脚并将这些值移位到一个字节中,您可以将其与 data-sheet 中的 table 进行比较。
byte position = (digitalRead(pin8) << 3) | (digitalRead(pin4) << 2) | (digitalRead(pin2) << 1) | digitalRead(pin1);
假设引脚的命名与数据sheet 中的真实 table 相同。
我们正在使用 OR 运算符 |将它们放在同一个字节中。