|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Victor 888 by Arduino Uno R3
This is not an FRC or FIRST related project.
I'm using a Victor 888 and an Arduino Uno R3 to power a BAG motor through PWM. I'm using a FIRST battery. I found this sample code on Arduino's forums: #include <SoftwareServo.h> SoftwareServo servo1; SoftwareServo servo2; void setup() { pinMode(9,OUTPUT); servo1.attach(2); servo1.setMaximumPulse(2200); servo2.attach(4); servo2.setMaximumPulse(2200); Serial.begin(9600); Serial.print("Ready"); } void loop() { static int value = 0; static char CurrentServo = 0; if ( Serial.available()) { char ch = Serial.read(); switch(ch) { case 'A': servo1.attach(2); CurrentServo='A'; digitalWrite(13,LOW); break; case 'B': servo2.attach(4); CurrentServo='B'; digitalWrite(13,HIGH); break; case '0' ... '9': value=(ch-'0')*20; if (CurrentServo=='A') { servo1.write(value); } else if (CurrentServo=='B') { servo2.write(value); } break; } } SoftwareServo::refresh(); } and this from another Chief Delphi post: //Simple VEX Pro Victor 888 Driver unsigned short pin = 9; signed int dutyCycle = 0; unsigned int highus = 1500; unsigned int lowus = 1000; void setup() { pinMode(pin, OUTPUT); digitalWrite(pin, LOW); Serial.begin(9600); } void loop() { digitalWrite(pin, HIGH); delayMicroseconds(highus); digitalWrite(pin, LOW); delayMicroseconds(lowus); if (Serial.available() > 0) { highus = 5*Serial.parseInt() + 1500; lowus = 1000; Serial.print("DS: "+dutyCycle); } } I have a VEX Pro VersaPlanetary 10:1 Gearbox and I need the motor to run at 600 RPM, so I can get 60 RPM from the gearbox. I've also looked through Arduino's servo library. Any advice? |
|
#2
|
|||
|
|||
|
Re: Victor 888 by Arduino Uno R3
Try something like this just to test if your electrical setup works.
Code:
#include <Servo.h>
Servo victor1;
void setup(){
victor1.attach(2);
}
void loop(){
victor1.write(180);//0 being full backwards 90 being no motion and 180 being full forwards
}
|
|
#3
|
||||
|
||||
|
Re: Victor 888 by Arduino Uno R3
I wrote I library for jaguars and victors (though I haven't actually tried it with victors)
in header: #include "Victor.h" Victor mycontroller; void setup() mycontroller.SetPort(pinnum,true/false) //the boolean is for if its reversed or not. void loop mycontroller.Set(from -1 to 1) this might only work on pin 3,5,6,11, like I said I haven't tried it because I don't own any victors. but if you want it here you go , and you will probably have to recalibrate the controller.Last edited by teslalab2 : 27-04-2015 at 23:25. |
|
#4
|
||||
|
||||
|
Re: Victor 888 by Arduino Uno R3
I was just about to look for code like this this morning, to see how much processing we can move offboard to an XMOS (just for kicks). Thank you!
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|