FRC | RRF Prog 131 开关

2019-06-06  本文已影响0人  T_K_233

06/21/2019

开关

开关是一个可以使电路开路、使电流中断或使其流到其他电路的电子元件。根据触发方式的不同,开关可以分类为微动开关、按钮开关、接近开关等。

微动开关

image

特点是触发距离短,能响应较小的力,并且金属片自带缓冲机制

按钮开关

image

最廉价的开关

接近开关

image

能够探测含铁钴镍的物体。当金属检测体接近开关的感应区域,开关就能触发。特点是无需物体与开关自身的接触,因而不易损坏。

电路连接

image

开关模块有三条引出线,分别为供电正极(VCC),供电负极(GND)和信号线(SIG)。

因为开关模块只能输出连通/不连通两种状态,所以是数字设备,连接到 RoboRIO 的 DIO 端口上,三根线分别对应三个针脚。

程序

几种种类的开关在程序上是一样的,都属于数字输入 (DigitalInput) 设备。

import edu.wpi.first.wpilibj.DigitalInput;
...

public class Robot extends TimedRobot {
  private DigitalInput sw;       // 声明 DigitalInput 类型的 sw 变量
  ...

  @Override
  public void robotInit() {
    sw = new DigitalInput(0);    // 创建 DigitalInput 对象,
                                 // constructor 括号中的参数是 RoboRIO 上开关连接的 DIO 端口号
    ...
  }
  ...

  @Override
  public void robotPeriodic() {
    boolean state = sw.get();    // 开关的值通过 .get() 方法获得,返回布尔类型的变量
    SmartDashboard.putBoolean("switch State", state);  // 将开关的值传递到 SmartDashboard 上
    if (state) {
        // 当开关闭合之后被运行
    }
    ...
  }
  ...  
}
上一篇 下一篇

猜你喜欢

热点阅读