|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Solenoid and compressor help
Sorry i dont mean to post another thread but our team leaves tomorrow for our regional competition and i cannot get my compressor or solenoids to work! it is probably because of my code but im not sure! can anyone help me through this step by step? It would honestly be the greatest thing ever!
-compressor -1 double ended SMC solenoid -2 Pneumatic cylinders |
|
#2
|
||||
|
||||
|
Re: Solenoid and compressor help
Quote:
|
|
#3
|
|||
|
|||
|
Re: Solenoid and compressor help
Sorry i will post there but for the sake of perhaps using some of your expertise i will post the code here aswell can you take a look?
#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 } void Test() { } }; START_ROBOT_CLASS(RobotDemo); |
|
#4
|
|||||
|
|||||
|
Re: Solenoid and compressor help
Then why didn't you post in the thread you already started?
That looks like the code you posted originally, before you received advice on what the parameters should be for initializing Solenoid and Compressor objects. |
|
#5
|
|||
|
|||
|
Re: Solenoid and compressor help
I posted that code again because i tried editing mycode and it didnt work! But i have solved it now thank you very much you were a great help!!
![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|