1 package org
.usfirst
.frc
.team3501
.robot
.commands
.intakearm
;
3 import edu
.wpi
.first
.wpilibj
.AnalogInput
;
6 * The photogate is a pair of IR LED and phototransistor sensor that uses a
7 * reflective method to sense the presence of the boulder within the robot's
8 * shooting chamber. This class specifically checks for the ball's presence
9 * using a threshold of voltages outputted from the phototransistor.
11 * @author niyatisriram
13 public class Photogate
extends AnalogInput
{
15 private double threshold
= 1.8;
18 * The constructor inputs the channel of the transistor and the threshold
20 * The threshold is a specific value, representing the outputted voltage of
21 * the phototransistor. This value will be somewhere within the range [0,
22 * 4095] Find the value by testing and finding an average value for which the
23 * ball is present when the output is greater, and absent when the output is
28 this.threshold
= threshold
;
32 * @return whether the ball is present or not
33 * USE TO DECIDE WHEN OUTTAKE NEEDS TO HAPPEN FOR BALL TO BE SECURE
35 public boolean isBallPresent() {
36 if (this.getVoltage() > threshold
)
47 public void setThreshold(int threshold
) {
48 this.threshold
= threshold
;