Dan Gongora
/
dynamixel_wheel_test
Tested on MX-28
Fork of dynamixel_test by
main.cpp@4:7ee9ae120e73, 2015-10-25 (annotated)
- Committer:
- dmgongora
- Date:
- Sun Oct 25 05:41:42 2015 +0000
- Revision:
- 4:7ee9ae120e73
- Parent:
- 1:ef90d942ce78
Wheel mode working example
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dmgongora | 1:ef90d942ce78 | 1 | /***************************************************** |
dmgongora | 1:ef90d942ce78 | 2 | - Description: mbed to Dynamixel connection test using |
dmgongora | 1:ef90d942ce78 | 3 | the library |
dmgongora | 4:7ee9ae120e73 | 4 | - Requirements: |
dmgongora | 1:ef90d942ce78 | 5 | Dynamixel (i.e. DX116, RX28) |
dmgongora | 1:ef90d942ce78 | 6 | MAX3088/MAX485 (RS485 transceiver) |
dmgongora | 1:ef90d942ce78 | 7 | - Connections: |
dmgongora | 1:ef90d942ce78 | 8 | MAX3088 -- mbed |
dmgongora | 1:ef90d942ce78 | 9 | ====================== |
dmgongora | 1:ef90d942ce78 | 10 | Pin 1 -- Pin 14 |
dmgongora | 1:ef90d942ce78 | 11 | Pin 2 -- Pin 15 |
dmgongora | 1:ef90d942ce78 | 12 | Pin 4 -- Pin 13 |
dmgongora | 4:7ee9ae120e73 | 13 | |
dmgongora | 1:ef90d942ce78 | 14 | - Comments: |
dmgongora | 4:7ee9ae120e73 | 15 | See schematic for wiring details and class |
dmgongora | 1:ef90d942ce78 | 16 | documentation for available methods. |
dmgongora | 1:ef90d942ce78 | 17 | *****************************************************/ |
dmgongora | 0:79e2a8171b16 | 18 | #include "mbed.h" |
dmgongora | 0:79e2a8171b16 | 19 | #include "Dynamixel.h" |
dmgongora | 0:79e2a8171b16 | 20 | |
dmgongora | 4:7ee9ae120e73 | 21 | DigitalOut debug1(LED1); |
dmgongora | 4:7ee9ae120e73 | 22 | DigitalOut debug2(LED2); |
dmgongora | 4:7ee9ae120e73 | 23 | DigitalOut debug3(LED3); |
dmgongora | 4:7ee9ae120e73 | 24 | DigitalOut debug4(LED4); |
dmgongora | 0:79e2a8171b16 | 25 | int main() |
dmgongora | 0:79e2a8171b16 | 26 | { |
dmgongora | 4:7ee9ae120e73 | 27 | debug1 = 0; |
dmgongora | 4:7ee9ae120e73 | 28 | debug2 = 0; |
dmgongora | 4:7ee9ae120e73 | 29 | debug3 = 0; |
dmgongora | 4:7ee9ae120e73 | 30 | debug4 = 0; |
dmgongora | 4:7ee9ae120e73 | 31 | Dynamixel motor2(p13, p14, p15, 1, 57600); // TX, RX, TX_ENABLE, MOTOR_ID, BD |
dmgongora | 4:7ee9ae120e73 | 32 | |
dmgongora | 4:7ee9ae120e73 | 33 | /************************** |
dmgongora | 4:7ee9ae120e73 | 34 | *** Check communication *** |
dmgongora | 4:7ee9ae120e73 | 35 | **************************/ |
dmgongora | 4:7ee9ae120e73 | 36 | motor2.toggleLED(1); |
dmgongora | 0:79e2a8171b16 | 37 | wait(1); |
dmgongora | 4:7ee9ae120e73 | 38 | motor2.toggleLED(0); |
dmgongora | 4:7ee9ae120e73 | 39 | /************************** |
dmgongora | 4:7ee9ae120e73 | 40 | ***** Set max angles ***** |
dmgongora | 4:7ee9ae120e73 | 41 | **************************/ |
dmgongora | 4:7ee9ae120e73 | 42 | motor2.setAngleLimit(0, ADDRESS_CW_ANGLE_LIMIT); |
dmgongora | 4:7ee9ae120e73 | 43 | wait(0.5); |
dmgongora | 4:7ee9ae120e73 | 44 | motor2.setAngleLimit(0, ADDRESS_CCW_ANGLE_LIMIT); |
dmgongora | 1:ef90d942ce78 | 45 | wait(0.5); |
dmgongora | 4:7ee9ae120e73 | 46 | /************************** |
dmgongora | 4:7ee9ae120e73 | 47 | ******** Set speed ******** |
dmgongora | 4:7ee9ae120e73 | 48 | **************************/ |
dmgongora | 4:7ee9ae120e73 | 49 | motor2.setSpeed(50); // 0-1023 CW |
dmgongora | 4:7ee9ae120e73 | 50 | debug1 = 1; |
dmgongora | 4:7ee9ae120e73 | 51 | wait(2); |
dmgongora | 4:7ee9ae120e73 | 52 | motor2.setSpeed(2000); // 1024-2047 CCW |
dmgongora | 4:7ee9ae120e73 | 53 | wait(2); |
dmgongora | 4:7ee9ae120e73 | 54 | debug2 = 1; |
dmgongora | 4:7ee9ae120e73 | 55 | motor2.setSpeed(0); |
dmgongora | 4:7ee9ae120e73 | 56 | } |