MX106 servo control

Dependencies:   MX28 mbed

Committer:
roger5641
Date:
Sat Jul 23 13:52:03 2016 +0000
Revision:
0:1c2a151939d0
MX106 practicing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
roger5641 0:1c2a151939d0 1 #include "mbed.h"
roger5641 0:1c2a151939d0 2 #include "Mx28.h"
roger5641 0:1c2a151939d0 3
roger5641 0:1c2a151939d0 4
roger5641 0:1c2a151939d0 5 #define SERVO_ID 0x01 // ID of which we will set Dynamixel too
roger5641 0:1c2a151939d0 6 #define SERVO_ControlPin D11 // Control pin of buffer chip, NOTE: this does not matter becasue we are not using a half to full contorl buffer.
roger5641 0:1c2a151939d0 7 #define SERVO_SET_Baudrate 115200 // Baud rate speed which the Dynamixel will be set too (1Mbps)
roger5641 0:1c2a151939d0 8 #define TxPin D10
roger5641 0:1c2a151939d0 9 #define RxPin D2
roger5641 0:1c2a151939d0 10 #define CW_LIMIT_ANGLE 0x001 // lowest clockwise angle is 1, as when set to 0 it set servo to wheel mode
roger5641 0:1c2a151939d0 11 #define CCW_LIMIT_ANGLE 0xFFF // Highest anit-clockwise angle is 0XFFF, as when set to 0 it set servo to wheel mode
roger5641 0:1c2a151939d0 12
roger5641 0:1c2a151939d0 13 DynamixelClass dynamixelClass(SERVO_SET_Baudrate,SERVO_ControlPin,TxPin,RxPin);
roger5641 0:1c2a151939d0 14
roger5641 0:1c2a151939d0 15 int main()
roger5641 0:1c2a151939d0 16 {
roger5641 0:1c2a151939d0 17 dynamixelClass.setMode(SERVO_ID, SERVO, CW_LIMIT_ANGLE, CCW_LIMIT_ANGLE); // set mode to SERVO and set angle limits
roger5641 0:1c2a151939d0 18
roger5641 0:1c2a151939d0 19 while(1)
roger5641 0:1c2a151939d0 20 {
roger5641 0:1c2a151939d0 21 dynamixelClass.ledState(SERVO_ID, ON);
roger5641 0:1c2a151939d0 22 dynamixelClass.servo(SERVO_ID,0x001,0x040); // Move servo to angle 1(0.088 degree) at speed 100
roger5641 0:1c2a151939d0 23 wait(8);
roger5641 0:1c2a151939d0 24
roger5641 0:1c2a151939d0 25 dynamixelClass.ledState(SERVO_ID, OFF);
roger5641 0:1c2a151939d0 26 dynamixelClass.servo(SERVO_ID,0xFFF,0x3FF); // Move servo to max angle at max speed
roger5641 0:1c2a151939d0 27 wait(5);
roger5641 0:1c2a151939d0 28 }
roger5641 0:1c2a151939d0 29 }