I need an SSC 32U unit to control 4 continuous servos, I need it to move them in 1 direction for an amount of time determined by an arduino programmed to determine it. I know it is possible to control one directly from an Uno, but I have no idea where t start coding. How do I go about doing this?
Why bother with the SSC 32U? The arduino can control the servos directly!
Mark
PS In fact both the uno and the SSC32U use the same chip!
M
Thanks, is there a difference between coding servos and continuous servos?
Also, since all 4 motors i plan to use will be synchronized, can I get by with one signal pin?
I'm limited to 9 volts, it's not a particularly heavy car, will it work?
JTMMcBroom:
Thanks, is there a difference between coding servos and continuous servos?
Also, since all 4 motors i plan to use will be synchronized, can I get by with one signal pin?
Below is servo test code you can try to see how to control the continuous rotation servos directly from the arduino. Servo controllers are useful when there are a large number of servos or one wants to move standard servos at slower speeds. Also, powering a servo that is made for 4.8-6v directly with 9v may damage the servo.
// zoomkat 3-28-14 serial servo incremental test code
// using serial monitor type a character (s to increase or a
// to decrease) and enter to change servo position
// (two hands required, one for letter entry and one for enter key)
// use strings like 90x or 1500x for new servo position
// for IDE 1.0.5 and later
// Powering a servo from the arduino usually *DOES NOT WORK*.
#include<Servo.h>
String readString;
Servo myservo;
int pos=1500; //~neutral value for continuous rotation servo
//int pos=90;
void setup()
{
myservo.attach(7, 400, 2600); //servo control pin, and range if desired
Serial.begin(9600);
Serial.println("serial servo incremental test code");
Serial.println("type a character (s to increase or a to decrease)");
Serial.println("and enter to change servo position");
Serial.println("use strings like 90x or 1500x for new servo position");
Serial.println();
}
void loop()
{
while (Serial.available()) {
char c = Serial.read(); //gets one byte from serial buffer
readString += c; //makes the string readString
delay(2); //slow looping to allow buffer to fill with next character
}
if (readString.length() >0) {
if(readString.indexOf('x') >0) {
pos = readString.toInt();
}
if(readString =="a"){
(pos=pos-1); //use larger numbers for larger increments
if(pos<0) (pos=0); //prevent negative number
}
if (readString =="s"){
(pos=pos+1);
}
if(pos >= 400) //determine servo write method
{
Serial.println(pos);
myservo.writeMicroseconds(pos);
}
else
{
Serial.println(pos);
myservo.write(pos);
}
}
readString=""; //empty for next input
}
I'm limited to 9 volts, it's not a particularly heavy car, will it work?
That depends on what "not particularly heavy" means. Is that like telling your girlfriend that she's not particularly fat?
How much current can the 9 volt power supply supply?
What kind of terrain is the car running on? In what temperature?
Hi does anyone know how to get a servo to go in the negative position with the SSC-32 I can only move my servos in one direction other then returning back to its starting point
mikez82:
Hi does anyone know how to get a servo to go in the negative position with the SSC-32 I can only move my servos in one direction other then returning back to its starting point
Try the servo "sweep" example in the IDE.