Go to Post The GDC is becoming sane. - Zuelu562 [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #4   Spotlight this post!  
Unread 31-01-2015, 09:00
TFleig78's Avatar
TFleig78 TFleig78 is offline
Registered User
AKA: Tyler
FRC #0078 (Air Strike)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2012
Location: Rhode Island
Posts: 58
TFleig78 will become famous soon enoughTFleig78 will become famous soon enough
Re: Need help with conveyor belt programming

Looks like you need to put the conveyor code within the operatorControl method.
Also you need to use the joystick method getRawButton() in order to get the state of a button.
The updated code below should work better.



Code:
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.RobotDrive.MotorType;
import edu.wpi.first.wpilibj.SampleRobot;
import edu.wpi.first.wpilibj.Timer;

/**
* This is a demo program showing how to use Mecanum control with the RobotDrive class.
*/
public class Buttontest extends SampleRobot {

	RobotDrive robotDrive;
	Joystick stick;

	// Channels for the wheels
	final int frontLeftChannel	= 0;
	final int rearLeftChannel	= 1;
	final int frontRightChannel	= 2;
	final int rearRightChannel	= 3;

	// The channel on the driver station that the joystick is connected to
	final int joystickChannel	= 3;
	private Object conveyorMotor;
	private Object joystick;
	private Object set;

	public Buttontest() {
		robotDrive = new RobotDrive(frontLeftChannel, rearLeftChannel, frontRightChannel, rearRightChannel);
		robotDrive.setExpiration(0.1);

		stick = new Joystick(joystickChannel);
	}


	/**
	* Runs the motors with Mecanum drive.
	*/
	public void operatorControl() {
		robotDrive.setSafetyEnabled(true);
		while (isOperatorControl() && isEnabled()) {

			// Use the joystick X axis for lateral movement, Y axis for forward movement, and Z axis for rotation.
			// This sample does not use field-oriented drive, so the gyro input is set to zero.
			robotDrive.arcadeDrive(-stick.getY(), -stick.getX());


                        if (stick.getRawButton(3)) {//if button 3 is pressed go full speed up
		               conveyorMotor.set(1);
                        }
		        else if (stick.getRawButton(4)) {//button 4, full speed down
			       conveyorMotor.set(-1);
                        }
                        else{
                               conveyorMotor.set(0); //no button pressed, stop
                        }


			Timer.delay(0.005);	// wait 5ms to avoid hogging CPU cycles
		}
	}
	
	
}
Reply With Quote
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 18:05.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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