View Single Post
  #9   Spotlight this post!  
Unread 13-02-2014, 17:52
TheoBlacksmith's Avatar
TheoBlacksmith TheoBlacksmith is offline
Lead Programmer
FRC #0806 (Brooklyn Blacksmiths)
Team Role: Programmer
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Brooklyn, NY
Posts: 37
TheoBlacksmith is on a distinguished road
Re: Programming Ring Light [Java]

Here is the Code:

import edu.wpi.first.wpilibj.Talon;
import edu.wpi.first.wpilibj.Relay;
import edu.wpi.first.wpilibj.Victor;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.Solenoid;
import edu.wpi.first.wpilibj.Compressor;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.SimpleRobot;
import edu.wpi.first.wpilibj.SpeedController;
import edu.wpi.first.wpilibj.GenericHID.Hand;
import edu.wpi.first.wpilibj.AnalogPotentiometer;

public class ASimpleJavaBot extends SimpleRobot {
// Constants
private static final Hand LEFTHAND = Hand.kLeft;
private static final Hand RIGHTHAND = Hand.kRight;

Solenoid launcherClosed = new Solenoid(1);
Solenoid launcherOpen = new Solenoid(2);
Solenoid armsClosed = new Solenoid(3);
Solenoid armsOpen = new Solenoid(4);
SpeedController frontRight = new Victor(3);
SpeedController frontLeft = new Victor(2);
SpeedController rearRight = new Victor(1);
SpeedController rearLeft = new Victor(4);
SpeedController rightArmMotor = new Talon(6);
SpeedController leftArmMotor = new Talon(7);
Compressor compressor = new Compressor(1, 1);
Relay Light = new Relay(2);
Joystick joy1 = new Joystick(1);

XboxController cont1 = new XboxController(1);
XboxController cont2 = new XboxController(2);

RobotDrive drive = new RobotDrive(frontLeft, rearLeft, frontRight,
rearRight);

/**
* This function is called once each time the robot enters autonomous mode.
*/

public void autonomous() {
}

/**
* This function is called once each time the robot enters operator control.
*/
public void operatorControl() {
int count = 0;
compressor.start();
boolean armsDown = false;
boolean ltPressed = false;
drive.setInvertedMotor(RobotDrive.MotorType.kFront Left, false);
drive.setInvertedMotor(RobotDrive.MotorType.kRearL eft, false);
drive.setInvertedMotor(RobotDrive.MotorType.kFront Right, true);
drive.setInvertedMotor(RobotDrive.MotorType.kRearR ight, true);

if (ltPressed == false) {

if (cont2.getTrigger(LEFTHAND) == true) {

if (armsDown == true) {

armsOpen.set(false);
armsClosed.set(true);

armsDown = false;
ltPressed = true;

}

else {
armsOpen.set(true);
armsClosed.set(false);
ltPressed = true;
armsDown = true;

}

}
} else {

if (cont2.getTrigger(LEFTHAND) == false) {
ltPressed = false;
}
}

if (cont2.getBumper(LEFTHAND) == true) {
// up
rightArmMotor.set(1);
leftArmMotor.set(-1);
}

if (cont2.getBumper(RIGHTHAND) == true) {
// down
rightArmMotor.set(-.7);
leftArmMotor.set(.7);
}
if ((cont2.getBumper(RIGHTHAND) == false)
&& (cont2.getBumper(LEFTHAND) == false)) {

rightArmMotor.set(0);
leftArmMotor.set(0);
}

if (cont1.getBumper(RIGHTHAND) == true) {
Light.set(Relay.Value.kOn);

}
if (cont1.getBumper(RIGHTHAND) == false) {
Light.set(Relay.Value.kOff);

}

}

}

private static double RoundToDecimalPlace(double value, int decimalPlaces) {
double exponent = 10 ^ decimalPlaces;
int rounded = (int) (value * exponent);
return (double) rounded / exponent;
}
}
__________________
No matter what, It's always a programming problem

-Everyone Else On The Team

Reply With Quote