i need serious help how can i get the buttons to work on my joystick how do i program it ??? here is my code is it correct ??
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2008. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.Joystick.AxisType;
import edu.wpi.first.wpilibj.*;
/**
* The VM is configured to automatically run this class, and to call the
* functions corresponding to each mode, as described in the SimpleRobot
* documentation. If you change the name of this class or the package after
* creating this project, you must also update the manifest file in the resource
* directory.
*/
public class Team1605 extends SimpleRobot {
Joystick stickDriverLeft = new Joystick(1);
Joystick stickDriverRight = new Joystick(2);
Jaguar leftMotor = new Jaguar(2);
Jaguar rightMotor = new Jaguar(1);
Jaguar shooterMotor1 = new Jaguar(3);
Jaguar shooterMotor2 = new Jaguar(4);
Jaguar gatherMotor1 = new Jaguar(5);
Jaguar gatherMotor2 = new Jaguar (6);
RobotDrive robotDrive = new RobotDrive(leftMotor,rightMotor);
Shooter shooter = new Shooter(shooterMotor1,shooterMotor2);
Gatherer gatherer = new Gatherer(gatherMotor1, gatherMotor2);
final int TRIGGER_NUMBER = 1;
final int GATHER_START_BUTTON = 2;
final int GATHER_STOP_BUTTON = 3;
/**
* 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() {
while(isOperatorControl() && isEnabled())
{
robotDrive.tankDrive(stickDriverLeft.getAxis(AxisType.kY), stickDriverRight.getAxis(AxisType.kY));
if(stickDriverRight.getRawButton(TRIGGER_NUMBER)) {
shooter.set(1);
}
else {
shooter.set(0);
}
if(stickDriverRight.getRawButton(GATHER_START_BUTTON)) {
gatherer.set(1);
}
else if(stickDriverRight.getRawButton(GATHER_STOP_BUTTON)) {
gatherer.set(0);
}
Timer.delay(.01);
}
}
}
The way that you have your trigger set up. As long as you hold the trigger down the shooter will be set at 1 but if you let go of the trigger it will be set back at 0. Do you want the trigger to toggle the shooter on and off?
i need help. in tank drive one of my wheels keep spinning and the other responds properly with one joystick.MY SHOOTER GATHERER AND BRIDGE HAND WORK. how can i fix this. this is my code :
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2008. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.Joystick.AxisType;
import edu.wpi.first.wpilibj.*;
/**
* The VM is configured to automatically run this class, and to call the
* functions corresponding to each mode, as described in the SimpleRobot
* documentation. If you change the name of this class or the package after
* creating this project, you must also update the manifest file in the resource
* directory.
*/
public class Team1605 extends SimpleRobot {
Joystick stickDriverLeft = new Joystick(1);
Joystick stickDriverRight = new Joystick(2);
Jaguar leftMotor = new Jaguar(2);
Jaguar rightMotor = new Jaguar(1);
Jaguar shooterMotor1 = new Jaguar(3);
Jaguar shooterMotor2 = new Jaguar(4);
Jaguar gatherMotor1 = new Jaguar(5);
Jaguar gatherMotor2 = new Jaguar (6);
Victor bridgeHandMotor = new Victor(7);
RobotDrive robotDrive = new RobotDrive(leftMotor,rightMotor);
Shooter shooter = new Shooter(shooterMotor1,shooterMotor2);
Gatherer gatherer = new Gatherer(gatherMotor1, gatherMotor2);
BridgeHand bridgeHand = newBridgHand(bridgeHandMotor);
/**
* 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() {
while(isOperatorControl() && isEnabled())
{
robotDrive.tankDrive(stickDriverLeft.getAxis(Joystick.AxisType.kY), stickDriverRight.getAxis(Joystick.AxisType.kY));
if(stickDriverRight.getButton(Joystick.AxisType.kTrigger)) {
shooter.set(1);
}
else {
shooter.set(0);
}
if(stickDriverLeft.getButton(Joystick.ButtonType.kTrigger)) {
gatherer.set(1);
}
else {
gatherer.set(0);
}
bridgeHand.set(stickDriverRight.getAxis(Joystick.AxisType.kX));
Timer.delay(.01);
}
}
}
This is called modular arithmetic. You probably don’t want to use that particular method for counting balls, because if, for example, your NUM_CHOICES were 3, then as balls enter the count would go 0,1,2,0,1,2, instead of 0,1,2,3,4 as they entered and 4,3,2,1,0 as they left.