Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   More Solenoid Trouble (http://www.chiefdelphi.com/forums/showthread.php?t=143342)

simon1636 06-02-2016 19:48

More Solenoid Trouble
 
Hey guys! I am having trouble coding the solenoid. I want it to be so that whenever I push on the buttons on the top of the Attack 3 joystick, the solenoid opens up. The button labeled 3 on the Attack three opens the solenoid forward and the button 2 opens the solenoid backwards. However, my code does neither of this. In fact, I'm not sure if it's the code or not, but the air only come out of hole 2 of the solenoid. If you see anything that would be affecting the situation so that it doesn't work, let me know!:D :D

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.DoubleSolenoid;
import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.SimpleRobot;

/**
 * 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 RobotTemplate extends SimpleRobot {
    /**
    * This function is called once each time the robot enters autonomous mode.
    */
   
    Jaguar lTalon,rTalon;
    Joystick throttle;
   
    DoubleSolenoid exampleDouble;
    Joystick aimer;
   
   
    public void autonomous() {
       
    }

    /**
    * This function is called once each time the robot enters operator control.
    */
   
    public void robotInit(){
        lTalon=new Jaguar(3);
        rTalon=new Jaguar(4);
        throttle=new Joystick(1);
     
        exampleDouble=new DoubleSolenoid(1,2);
    }
    public void operatorControl() {
   
        while(isOperatorControl() &&isEnabled()){
          lTalon.set(-throttle.getZ());
          rTalon.set(throttle.getZ());
        }
       
        if(aimer.getRawButton(3)){
            exampleDouble.set(DoubleSolenoid.Value.kForward);
        }
       
        else if(aimer.getRawButton(2)){
            exampleDouble.set(DoubleSolenoid.Value.kReverse);
        }
       
        else{
            exampleDouble.set(DoubleSolenoid.Value.kOff);
        }
    }
               
           
}   
   
           
           
               
         


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


orangelight 06-02-2016 20:17

Re: More Solenoid Trouble
 
All the code that should run during teleop should be placed in the while loop.

simon1636 07-02-2016 17:07

Re: More Solenoid Trouble
 
So I changed it so that all the Solenoid code is in the while loop, but it still isn't working! Do any of you guys see anything else wrong with the code?

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.DoubleSolenoid;
import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.SimpleRobot;

/**
 * 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 RobotTemplate extends SimpleRobot {
    /**
    * This function is called once each time the robot enters autonomous mode.
    */
   
    Jaguar lTalon,rTalon;
    Joystick throttle;
   
    DoubleSolenoid exampleDouble;
    Joystick aimer;
   
   
    public void autonomous() {
       
    }

    /**
    * This function is called once each time the robot enters operator control.
    */
   
    public void robotInit(){
        lTalon=new Jaguar(3);
        rTalon=new Jaguar(4);
        throttle=new Joystick(1);
     
        exampleDouble=new DoubleSolenoid(1,2);
    }
    public void operatorControl() {
   
        while(isOperatorControl() &&isEnabled()){
          lTalon.set(-throttle.getZ());
          rTalon.set(throttle.getZ());
       
       
        if(aimer.getY()>0){
            exampleDouble.set(DoubleSolenoid.Value.kForward);
        }
       
        else if(aimer.getY()<0){
            exampleDouble.set(DoubleSolenoid.Value.kReverse);
        }
       
        else{
            exampleDouble.set(DoubleSolenoid.Value.kOff);
        }
        } 
    }
               
           
}   
   
           
           
               
         


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



All times are GMT -5. The time now is 08:44.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi