View Single Post
  #1   Spotlight this post!  
Unread 18-03-2013, 08:25
Jaysonscott Jaysonscott is offline
Registered User
FRC #1846
 
Join Date: Mar 2013
Location: Sarnia, Ontario
Posts: 10
Jaysonscott is an unknown quantity at this point
Pneumatics Programming help

Hello,
I am very new to programming in this language and my mentor had to take a leave of absence so this is what ive come up with ive had everything working except pneumatics. I have a test station set up to test it on seeing as the robot had to be bagged but im having issues with it ive never programmed pneumatics and after reading tons of info i still havhad no luck this is my code any suggestions would be much appreciated.



#include "WPILib.h"
//#DEFINE FIRST_SOLENOID 1

class RobotDemo : public SimpleRobot
{
RobotDrive myRobot; // robot drive system
Joystick stick; // only joystick
Victor Victor1;
Victor SFX_Shooter1_Victor3;
Victor SFX_Shooter2_Victor4;
Relay SFX_Loader_Victor5;
Relay SFX_Tiltmotor; //spike connected to motor

DigitalInput DigitalInput_High;
DigitalInput DigitalInput_Low;

Solenoid Sole1;
Compressor Compress;

//Solenoid Solenoid1;


float Shoot1_Victor3_float;
float Shoot2_Victor4_float;
float Loader_Victor5_float;


public:
RobotDemo(void):
myRobot(1, 2), // these must be initialized in the same order
stick(1), // as they are declared above.
Victor1(1),
SFX_Shooter1_Victor3(3),
SFX_Shooter2_Victor4(4),
SFX_Loader_Victor5(3),
SFX_Tiltmotor(1),
DigitalInput_High(1),
DigitalInput_Low(2),
//Solenoid1(3)
//Relay_Solenoid(2)
Sole1(4,4),
Compress(3,3)
{
myRobot.SetExpiration(0.1);
}

/**
* Drive left & right motors for 2 seconds then stop
*/
void Autonomous(void)
{
/*
myRobot.SetSafetyEnabled(false);
myRobot.Drive(-0.5, 0.0); // drive forwards half speed
Wait(2.0); // for 2 seconds
myRobot.Drive(0.0, 0.0); // stop robot
*/
SFX_Shooter1_Victor3.Set(1.0);
SFX_Shooter2_Victor4.Set(1.0);


}

/**
* Runs the motors with arcade steering.
*/
void OperatorControl(void)
{
myRobot.SetSafetyEnabled(true);
Compress.Start();
while (IsOperatorControl())
{
myRobot.ArcadeDrive(stick); // drive with arcade style (use right stick)


//Victor1.Set(1.0);
//Shoot1_Victor3_float = 1.0;

//Activates shooter at full speed with button 1
if(stick.GetRawButton(1)== 1){
SFX_Shooter1_Victor3.Set(1.0);
SFX_Shooter2_Victor4.Set(1.0);
} else{
SFX_Shooter1_Victor3.Set(0.0);
SFX_Shooter2_Victor4.Set(0.0);
}

//Actvates loader at full speed with button 2
if(stick.GetRawButton(2)==1){
SFX_Loader_Victor5.Set(Relay::kOn);
}else{
SFX_Loader_Victor5.Set(Relay::kOff);
}


//Activates tilt in either forward or reverse dependant on button and sensor
if((stick.GetRawButton(4)==1)&& (DigitalInput_High.Get()==0)) {
SFX_Tiltmotor.Set(Relay::kForward);
//SFX_Tiltmotor.Set(Relay::kOn);

}else if((stick.GetRawButton(5)==1) && (DigitalInput_Low.Get()==0)) {
SFX_Tiltmotor.Set(Relay::kReverse);
//SFX_Tiltmotor.Set(Relay::kOn);
}
else{
SFX_Tiltmotor.Set(Relay::kOff);

}
/*
if(stick.GetRawButton(6)==1){
//Solenoid1.Set(True);
Relay_Solenoid.Set(Relay::kForward);
Relay_Solenoid.Set(Relay::kOn);
}else{
Relay_Solenoid.Set(Relay::kOff);
}*/
if(stick.GetRawButton(7)==1){
Sole1.Set(TRUE);
}else{
Sole1.Set(FALSE);


}




// link
//SFX_Shooter1_Victor3 = Shoot1_Victor3_float;

Wait(0.005); // wait for a motor update time
}
Compress.Stop();
}

/**
* Runs during test mode
*/
void Test() {

}
};

START_ROBOT_CLASS(RobotDemo);
Reply With Quote