Digital Servo Speed?
i received arduino duemilanove earlier today , spent past few hours digging in. i have little programming experience regarding hardware, pretty noobish here. i ran through led tutorial; wired servo , experimented pwm movements, , found servo sweep tutorial. while adding additional functionality current project, continuously sweeping servo @ core quite excited , running quickly.
[glow]is there way control servo speed via arduino? i need slow sweep down crawl. [/glow]
i using hitec hs-5475hb digital servo. hitec offers servo programmer can change speed of servo's in 10% steps, expensive @ $150. i hoping find method around via programming. i noticed degree sweep method moves slower sweep naturally occurs when calling out 2 distinct endpoints, tried reducing sweep amount 1 degree decimal value, didn't work (i'm assuming integer value needed here). otherwise, given lack of experience both servo's , c, i'm @ loss ... other excessively coding each individual location intermittent delay.
any ideas appreciated.
current code:
#include <servo.h>
servo laserservo; // laser servo
int pos = 0; // laser servo position variable
void setup()
{
laserservo.attach(9); // laser servo pwm control - arduino pin 9
}
void loop()
{
for(pos = 0; pos < 120; pos +=1) // sweep 0 120 degrees in steps of 1
{
laserservo.write(pos); // sweep start position
delay(15); // 15ms delay sweep
}
for(pos = 120; pos>=0; pos-=1) // sweep 120 0 degrees in steps of 1
{
laserservo.write(pos); // sweep end position
delay(15); // 15ms delay sweep
}
}
[glow]is there way control servo speed via arduino? i need slow sweep down crawl. [/glow]
i using hitec hs-5475hb digital servo. hitec offers servo programmer can change speed of servo's in 10% steps, expensive @ $150. i hoping find method around via programming. i noticed degree sweep method moves slower sweep naturally occurs when calling out 2 distinct endpoints, tried reducing sweep amount 1 degree decimal value, didn't work (i'm assuming integer value needed here). otherwise, given lack of experience both servo's , c, i'm @ loss ... other excessively coding each individual location intermittent delay.
any ideas appreciated.
current code:
#include <servo.h>
servo laserservo; // laser servo
int pos = 0; // laser servo position variable
void setup()
{
laserservo.attach(9); // laser servo pwm control - arduino pin 9
}
void loop()
{
for(pos = 0; pos < 120; pos +=1) // sweep 0 120 degrees in steps of 1
{
laserservo.write(pos); // sweep start position
delay(15); // 15ms delay sweep
}
for(pos = 120; pos>=0; pos-=1) // sweep 120 0 degrees in steps of 1
{
laserservo.write(pos); // sweep end position
delay(15); // 15ms delay sweep
}
}
the 2 delay(15) functions determining rate of change servos. change delay(150) make ramp 10 times slower, delay (1500) make 100 times slower.
lefty
lefty
Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Digital Servo Speed?
arduino
Comments
Post a Comment