PDA

View Full Version : [Project] Simple Dynamixel AXZX 12w movement



raecom1
07-20-2014, 07:01 PM
Hello forum.

Question.

I recently purchased a Dynamixel servo and Arotix-M controller (should have it in 4 days). I only want to control a potentiometer knob. Simple left and right moves for a 1 minute period. I will be physically connecting the servo directly to the Potentiometer knob. What format code do I need to download for this board to put my code in? What do I need to do to turn the POT knob in the desired direction and have the software save the movements like I have seen on some of the Trossen Videos? I have had some practice with Arduino Uno so I do know some basics. Any help anyone can give me would be greatly appreciated.


Thanks for your help. Matt..

ArduTank
07-20-2014, 11:03 PM
Two routes you can go:

Use PyPose, and create poses for the positions you want, and call them up in code in the correct sequence, Link (https://code.google.com/p/arbotix/wiki/PyPose)

OR

You can directly use BioloidController to go to your positions. Linkie (https://code.google.com/p/arbotix/wiki/BioloidController)

Those should be enough to get you started :)

PyPose is simpler to start with, but a little harder to implement in the IDE, as you have to use interpolate calls.


(BTW, the software section is for this kind of query; You're more likely to get a quick answer that way from those who frequent that section)

tician
07-20-2014, 11:25 PM
If you know exactly where you want the servo to move at any time, and do not want pre-defined sequences, you can use the arbotix's ax12 library without BioloidController. There are a few helper/wrapper functions for sending servos to positions defined within ax12.h.

An untested example:


#include <ax12.h>

void setup()
{
ax12Init(1000000);
Serial.begin(38400);
}
void loop()
{
char key = 0;
// Check for input from FTDI/Xbee serial port and store result in a variable
if (Serial.available() > 0)
{
key = Serial.read();
}

// If you send 'o' over the serial port, this should cause servo #1 to
// oscillate once between the two extremes of its range (~30 degrees to ~300 degrees)
if (key == 'o')
{
SetPosition(1, 0);
delay(1000);
SetPosition(1, 1023);
delay(1000);
}
// restart loop()
}



I always just click the 'New Posts (http://forums.trossenrobotics.com/search.php?do=getnew&contenttype=vBForum_Post)' linky at the top of the forum header; doesn't matter where anything new is posted with that.