ARduino接KY-040电位编码器

电位编码器常用于功放和汽车内饰的旋钮上,长的和一个普通的电位器差不多,一个编码器可以左旋转、右旋转和按钮。电位器
一共有5个引脚,GND接地,+接5V电源,CLK接3号引脚,DT接4号引脚,SW接5号引脚。

代码部分`:

int pinA = 3;   //CLK接 pin3
int pinB = 4;   //DT接pin4
int button = 5; //按键接pin5

int ButtonState; //按键状态

int pinALast;
int aVal;

bool buttonVal = false;

void setup()
{
  pinMode(pinA, INPUT);
  pinMode(pinB, INPUT);
  pinMode(button, INPUT_PULLUP);

  pinALast = digitalRead(pinA);

  Serial.begin(9600);
}

void loop()
{
  aVal = digitalRead(pinA);
  ButtonState= digitalRead(button );
  ///旋钮事件
  if (aVal != pinALast)
  {
    if (digitalRead(pinB) != aVal)
    { // 顺时针旋转
      Serial.println("Next");
    }
    else
    { // 逆时针旋转
      Serial.println("Last");
    }
  }
  pinALast = aVal;
  
  ///按钮事件
  if (ButtonState == LOW) //按钮按下时
  {
      Serial.println("Input");    
  }
}

需求是使用编码器控制视频的上下切换和暂停播放,实际使用中还运用了按钮消抖,请参考按钮消抖的几种方法。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值