Quick Question about millis

I got a quick question about millis and how to setup for my robotic hand servo motors. what would be the example formula for the servos and they standard regular.

Kinda new to the whole servos and how to function.

for some odd reason as excited as i was i gotten the servos to move and upload but it would constanstly just rewind itself in a endless cycle of moving up and down. I dont know why maybe i was using delay and my script was over about 320 lines so i think i may need to shorten it.

Could it be the lack of components that i have

ive upload the program ive writen into the arduinomega 2560

Welcome to the forum

Where did you upload it to ?

there wasn't any shield or add ons to it so.

I got a youtube channel Peruviantank and i showcase the process of my robotic hand

now for some reason i think i may need to replace the servo motors.

if anyone can help or offer some advice i would gladly appreicate so much.... and give a shoutout as well. much love

Im continue this robotic journey and the only thing not much of funding for parts but my challenge is finding some sample formulas and follow through to get this robotic hand moving in snyc and function.

heres my sketch

#include <Servo.h>

//Create a for loop

// Add the servo library.

#include<Servo.h>

//Define the 5 servo motors

Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;

//Servo Position in degrees
int servoPos = 0;
int pos1 = 0;
int pos2 = 0;
int pos3 = 0;
int pos4 = 0;
int pos5 = 0;

void setup() {
// define the servo signal inputs ( digital PMW 3,5,6,9,10)

servo1.attach(3);
servo2.attach(5);
servo3.attach(6);
servo4.attach(9);
servo5.attach(10);

}
void loop() {

for( int i =0; i <180; i++)

{ pos1 = i + 180;
pos2 = i + 144;
pos3 = i + 108;
pos4 = i + 72;
pos5 = i + 36;

servo1.write(pos1);
servo2.write(pos2);
servo3.write(pos3);
servo4.write(pos4);
servo5.write(pos5);
delay(35);

}


for (int i = 180; i>0; i--)

{ pos1= i-180;
pos2= i-66;
pos3= i-88;
pos4= i-111;
pos5= i-144;

 servo1.write(pos1);
servo2.write(pos2);
servo3.write(pos3);
servo4.write(pos4);
servo5.write(pos5);
delay(35);

}

servo1.write(0);

delay(666);
servo2.write(0);
delay(666);
servo2.write(180);
delay(666);
servo3.write(0);
delay(666);
servo3.write(180);
delay(666);
servo4.write(0);
delay(666);
servo4.write(180);
delay(666);
servo5.write(0);
delay(666);
servo5.write(180);
delay(666);
servo1.write(180);
delay(666);

servo2.write(0);
servo5.write(0);
delay(3000);

servo1.write(0);
delay(3000);

servo2.write(180);
servo5.write(180);
delay(3000);

servo3.write(0);
delay(3000);

servo3.write(180);
delay(3000);

servo2.write(0);
servo3.write(0);
delay(3000);

servo2.write(180);
servo3.write(180);
delay(3000);

servo2.write(0);
servo4.write(0);
delay(677);

servo2.write(180);
servo3.write(0);
servo4.write(180);
servo5.write(0);
delay(500);

servo2.write(0);
servo3.write(180);
servo4.write(0);
servo5.write(180);
delay(500);

servo1.write(180);
servo2.write(0);
servo3.write(180);
servo4.write(0);
delay(500);

servo1.write(0);
servo2.write(180);
servo3.write(0);
servo4.write(180);
delay(500);

servo3.write(180);
servo4.write(0);
servo5.write(180);
servo2.write(0);
delay(500);

servo3.write(0);
servo4.write(180);
servo5.write(0);
servo2.write(180);
delay(500);

servo3.write(180);
servo5.write(180);
delay(500);

servo2.write(0);
delay(1250);

servo2.write(180);
delay(1250);

servo2.write(0);
servo3.write(0);
delay(1350);

servo2.write(180);
servo3.write(180);
delay(1350);

servo2.write(0);
servo3.write(0);
servo4.write(0);
delay(1450);

servo2.write(180);
servo3.write(180);
servo4.write(180);
delay(1650);

servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(1750);

servo2.write(180);
servo3.write(180);
servo4.write(180);
servo5.write(180);
delay(1750);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(1850);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

}

How did I know that you would not use code tags when posting the code ?

Please follow the advice given in the link below when posting code, in particular the section entitled 'Posting code and common code problems'

Use code tags (the </> icon above the compose window) to make it easier to read and copy for examination

Why do you have soooo many writes to the servo's? All you need is one for each in the loop function.

#include <Servo.h>

//Create a for loop

// Add the servo library.

#include<Servo.h>

//Define the 5 servo motors

Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;

//Servo Position in degrees
int servoPos = 0;
int pos1 = 0;
int pos2 = 0;
int pos3 = 0;
int pos4 = 0;
int pos5 = 0;

void setup() {
// define the servo signal inputs ( digital PMW 3,5,6,9,10)

servo1.attach(3);
servo2.attach(5);
servo3.attach(6);
servo4.attach(9);
servo5.attach(10);

}
void loop() {

for( int i =0; i <180; i++)

{ pos1 = i + 180;
pos2 = i + 144;
pos3 = i + 108;
pos4 = i + 72;
pos5 = i + 36;

servo1.write(pos1);
servo2.write(pos2);
servo3.write(pos3);
servo4.write(pos4);
servo5.write(pos5);
delay(35);

}


for (int i = 180; i>0; i--)
{ pos1= i-180;
pos2= i-66;
pos3= i-88;
pos4= i-111;
pos5= i-144;

 servo1.write(pos1);
servo2.write(pos2);
servo3.write(pos3);
servo4.write(pos4);
servo5.write(pos5);
delay(35);
}

servo1.write(0);
delay(666);
servo2.write(0);
delay(666);
servo2.write(180);
delay(666);
servo3.write(0);
delay(666);
servo3.write(180);
delay(666);
servo4.write(0);
delay(666);
servo4.write(180);
delay(666);
servo5.write(0);
delay(666);
servo5.write(180);
delay(666);
servo1.write(180);
delay(666);

servo2.write(0);
servo5.write(0);
delay(3000);

servo1.write(0);
delay(3000);

servo2.write(180);
servo5.write(180);
delay(3000);

servo3.write(0);
delay(3000);

servo3.write(180);
delay(3000);

servo2.write(0);
servo3.write(0);
delay(3000);

servo2.write(180);
servo3.write(180);
delay(3000);

servo2.write(0);
servo4.write(0);
delay(677);

servo2.write(180);
servo3.write(0);
servo4.write(180);
servo5.write(0);
delay(500);

servo2.write(0);
servo3.write(180);
servo4.write(0);
servo5.write(180);
delay(500);

servo1.write(180);
servo2.write(0);
servo3.write(180);
servo4.write(0);
delay(500);

servo1.write(0);
servo2.write(180);
servo3.write(0);
servo4.write(180);
delay(500);

servo3.write(180);
servo4.write(0);
servo5.write(180);
servo2.write(0);
delay(500);

servo3.write(0);
servo4.write(180);
servo5.write(0);
servo2.write(180);
delay(500);

servo3.write(180);
servo5.write(180);
delay(500);

servo2.write(0);
delay(1250);

servo2.write(180);
delay(1250);

servo2.write(0);
servo3.write(0);
delay(1350);

servo2.write(180);
servo3.write(180);
delay(1350);

servo2.write(0);
servo3.write(0);
servo4.write(0);
delay(1450);

servo2.write(180);
servo3.write(180);
servo4.write(180);
delay(1650);

servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(1750);

servo2.write(180);
servo3.write(180);
servo4.write(180);
servo5.write(180);
delay(1750);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(1850);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

servo1.write(0);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
delay(280);

servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
delay(280);

}
for( int i =0; i <180; i++)

{ pos1 = i + 180;

What is the highest value that you can sensibly write() to a servo ?

im kinda a newb to this whole programing writing and how to lol.

been at it for at least 1 wk in time working also ontop of a 12 hr shift so in general a few hrs to write the programming watching others.

But the results were AMAZING ill post it its going to be on my YT channel (Peruviantank) but in regards to the topic if theres a way if could shorten it maybe the programming i would love to but yeah

0-180 degree servo limit

yeah sorry about that im kinda new to the forum

will take a look into reading the guidelines.

Thank you.

What will the value of pos1 be when i is greater than 0 ?

With the best of feelings, I ask you not to publish this program. This way of programming sets an extremely bad example for beginners. Or are you trying to promote your YouTube channel?

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.