Awesome! 8)
Great to see it in action. I’m amazed to see how well the pull-pull system work. Also, the 3D parts are just perfect!
I’m wondering, is there much play/backlash in the pull/pull system?
Like Kurt said. Using the GP player is a great tool for sequences, especially long and complex sequences.
The cables are pulled tight to make sure it gets every part of rotation pulling as it should ’ although i have noticed that even with the cables tight there is backlash. This is due to the tubes that house the cables.
Iv used 0.6mm and 1mm cables… The ID of the tubes in nearly 3mm and so the cables get slack during some rotations.
Using the right ID tubes is critical for precise actions.
Will apply this discipline next time.
Thank you Kurt for your input. Yes that would be a very good option but ill not be using the ssc as Eric has pointed out.
The code will work on very simple and basic routines. Ill build up a command code inputting very simple servo commands, and string it all together from the moment power is applied.
Even if the routines are not called up randomly Im not concerned. Along as i manage a long enough string of commands at least it shouldn’t look repetitive.
Let me know if you need any help. Your projects always sound like fun!
Kurt
P.S. - Forgot to ask, which Arduino are you using? Probably mentioned somewhere in the thread… For the Megas I do have what I call my ServoEx library, which has some of the timed move capabilities like the SSC-32. i.e. you can say start a group move, move these servos to their new location and do it in N milliseconds…
The simple answer is, I don’t know, it may work on 328s as well, I think I did try it out on the BotBoarDuino earlier. It has been awhile since I played with it… May have to dig it up and try it out again.
Forgot to mention, that a version of the ServoEx Library is up on the thread: viewtopic.php?t=8038&p=80023#p80023
This was developed I believe for Arduino 1.0. I took a look at the differences to the Servo library between 1.0 and 1.0.1 and they are not much. Made local changes, which I will upload later as part of my refactoring the Hex code thread.
ok i have started to get somewhere with the programming…
Using the unsigned Servo_Trigger and millis(); function as shown in one of Eric’s earlier posts i have managed to get the Blink servo to randomly move at random times as well as getting the Head_Rotate servo to move at random times along with random values by assigning the selected output pin with “Random_Trigger” set as its triggered value. so now the head looks and pause at random places in the room.
Kinda creepy having this bird keep looking at me as i type.
//---------------- Part that do the blink once triggered ----------------
if (curren_Millis - last_Millis >= Fast_ServoDelay) { // Delay of Fast_ServoDelay so the millis update those value at that rate
last_Millis = curren_Millis;
ServoMove_Count = (ServoMove_Count + 1);
switch (ServoMove_Count) {
case 90:
Head_Rotate.write(Random_Trigger);
break;
case 390:
Head_Rotate.write(Random_Trigger);
break;
case 590:
Head_Rotate.write(Random_Trigger);
break;
}
}
I do always feel somewhat credited by your responses.
The new head and eyelid meg will arrive mid next week to fill that space in the head. so more testing then.
The armature is fully operational with the exception of the “eyelid mech” that arrives next week.
Eric i solved the trigger problem we talked about.
I made two triggers and called them up as routines rather than adding individual triggers per servo .