概述
8421 Encoder-Vertical是一款具有16档编码(0-F)立式直插的8421编码器,常应用于各种设备的状态控制。
特性
- 寿命长
- 独特的8421编码功能
- BreakOut易于安装
应用场景
- 工业自动化
- 汽车电子
- 多媒体音箱
- 仪器仪表
- 智能家居等各种领域
技术规格
- 电流范围:150mA, 42V
- 8421编码:十六档(0-F)
- 使用寿命:10000步
- 工作温度:-40~85℃
- 模块尺寸:19x19mm
- 安装孔径:2.0mm
- 安装孔间距:15x15mm
接口说明
标号 | 名称 | 功能描述 |
---|---|---|
1 | 8 | 8421BCD编码8端口 |
2 | 4 | 8421BCD编码4端口 |
3 | 2 | 8421BCD编码2端口 |
4 | 1 | 8421BCD编码1端口 |
5 | C | 公共端-接入电源正极VCC |
6 | X | 公共端-接入电源负极GND |
真值表
Arduino使用教程
准备
-
硬件
- Arduino UNO控制板 x 1
- 8421_Encoder-Vertical x 1
- 若干杜邦线
-
软件:
- Arduino IDE (1.0.x或1.8.x), 点击下载Arduino IDE
连线图
样例代码
-
将下面样例代码上传至主控板,打开串口监控器,串口输出编码。
/**************************************************************************/
/*!- @file DFR0721_V10_Demo.ino
- @brief This example read and print the 8421 encoder code.
- @copyright Copyright (c) 2010 DFRobot Co.Ltd (https://www.dfrobot.com)
- @licence The MIT License (MIT)
- @author PowerLiao
- @version V1.0
- @date 2020-07-09
- @get from https://www.dfrobot.com
*/
#define setbit(data,b) (data|=(1<<b)) //set the b bit of data to 1
#define clrbit(data,b) (data&=~(1<<b)) //set the b bit of data to 0uint8_t code8421 = 0;
const uint8_t code8Pin = 5;
const uint8_t code4Pin = 4;
const uint8_t code2Pin = 3;
const uint8_t code1Pin = 2;void setup() {
Serial.begin(115200);
Serial.println("8421 Encoder Starts up!");
pinMode(code8Pin, INPUT);
pinMode(code4Pin, INPUT);
pinMode(code2Pin, INPUT);
pinMode(code1Pin, INPUT);
}void loop() {
//According to the pin level and set the corresponding bit to 0 or 1
if (digitalRead(code8Pin) == HIGH){
setbit(code8421, 3);
}else{
clrbit(code8421, 3);
}if (digitalRead(code4Pin) == HIGH){
setbit(code8421, 2);
}else{
clrbit(code8421, 2);
}if (digitalRead(code2Pin) == HIGH){
setbit(code8421, 1);
}else{
clrbit(code8421, 1);
}if (digitalRead(code1Pin) == HIGH){
setbit(code8421, 0);
}else{
clrbit(code8421, 0);
}//Output the code in hexadecimal
Serial.print("Now code8421 is: ");
Serial.println(code8421, HEX);
delay(1000);
}
结果
- 模块每隔1s打印当前编码值:
常见问题
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。