|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
new motor
Code:
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.SimpleRobot;
import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj.Watchdog;
import edu.wpi.first.wpilibj.Compressor;
import edu.wpi.first.wpilibj.Relay;
public class Demonized extends SimpleRobot {
private static final long TIME_DELAY = 1000; // in milliseconds
RobotDrive drive = new RobotDrive(1, 2);
RobotDrive spot = new RobotDrive(3);
Joystick leftStick = new Joystick(1);
Joystick rightStick = new Joystick(2);
Joystick kicker = new Joystick(3);
Watchdog fenrir = Watchdog.getInstance();
Compressor fluffy = new Compressor(1, 1);
void setUpRobot() {
fluffy.start();
fenrir.feed();
}
public void autonomous() {
setUpRobot();
try {
while (true && isAutonomous() && isEnabled()) {
for (int i = 0; i < 4; i++) {
fenrir.feed();
Thread.sleep(TIME_DELAY);
drive.drive(0.5, 0.0); // drive 50% fwd 0% turn
Thread.sleep(TIME_DELAY);
fenrir.feed();
Thread.sleep(TIME_DELAY);
drive.drive(0.0, 0.5); // drive 0% fwd 50% turn
fenrir.feed();
Thread.sleep(TIME_DELAY);
drive.drive(0.0, -0.5); // drive 0% fwd -50% turn
}
}
drive.drive(0.0, 0.0); // drive 0% fwd, 0% turn
} catch (InterruptedException ie) {
// aaaaaaah, how do we log this out?
// but make sure we stop
drive.drive(0.0, 0.0); // drive 0% fwd, 0% turn
}
}
public void operatorControl() {
setUpRobot();
while (true && isOperatorControl() && isEnabled()) // loop until change
{
drive.tankDrive(leftStick, rightStick);
Timer.delay(0.005);
fenrir.feed();
drive.arcadeDrive(kicker);
}
}
}
any help. Last edited by Twisted eric : 17-02-2010 at 16:08. Reason: fix |
|
#2
|
||||
|
||||
|
Re: new motor
I'm imagining that this doesn't compile, since there isn't a RobotDrive constructor that takes only one int parameter. Also, in operatorControl() you're setting the drive motors based on input from two joysticks, and then setting them again based on input from a third joystick. This isn't going to produce a desirable result.
If you want to control a single motor with a joystick, use the appropriate SpeedController class -- Jaguar or Victor. RobotDrive is intended for use with drive trains that have two or four motor configurations. Code:
Jaguar spot = new Jaguar(3);
...
public void operatorControl() {
setUpRobot();
while (true && isOperatorControl() && isEnabled()) // loop until change
{
drive.tankDrive(leftStick, rightStick);
spot.set(kicker.getY());
Timer.delay(0.005);
fenrir.feed();
}
}
|
|
#3
|
||||
|
||||
|
Re: new motor
got it working thanks
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| New FP motor at event | Pat Major | Motors | 1 | 14-02-2005 16:57 |
| New Drill Motor Mounts | MattB703 | Motors | 1 | 08-01-2003 21:46 |
| New Drill Motor Mounts | MattB703 | Technical Discussion | 0 | 06-01-2003 09:31 |
| New Fisher Price Motor - IMPORTANT | Paul Copioli | Motors | 6 | 08-02-2002 13:35 |
| What's with the New Motor Specs for the Atwood Mobile (Chiaphua) Motor. | Robb Gerber | Motors | 2 | 23-01-2002 08:58 |