Futurism logo

Quadruped Robot Project Code

Code

By Cengiz TEZELPublished about a year ago 5 min read
Like

int state;

#define DXL_BUS_SERIAL3 3

#define ID_NUM1 1

#define ID_NUM5 5

#define ID_NUM9 9

#define ID_NUM3 3

#define ID_NUM7 7

#define ID_NUM11 11

#define ID_NUM2 2

#define ID_NUM6 6

#define ID_NUM10 10

#define ID_NUM4 4

#define ID_NUM8 8

#define ID_NUM12 12

#define GOAL_POSITION 30

#define GOAL_SPEED 5

Dynamixel Dxl(DXL_BUS_SERIAL3);

void setup() {

Dxl.begin(3);

Dxl.jointMode(ID_NUM1); //sol ön bacak

Dxl.jointMode(ID_NUM5); //sol ön bacak

Dxl.jointMode(ID_NUM9); //sol ön bacak

Dxl.jointMode(ID_NUM3); //sol arka bacak

Dxl.jointMode(ID_NUM7); //sol arka bacak

Dxl.jointMode(ID_NUM11); //sol arka bacak

Dxl.jointMode(ID_NUM2); //sol arka bacak

Dxl.jointMode(ID_NUM6); //sol arka bacak

Dxl.jointMode(ID_NUM10); //sol arka bacak

Dxl.jointMode(ID_NUM4); //sol arka bacak

Dxl.jointMode(ID_NUM8); //sol arka bacak

Dxl.jointMode(ID_NUM12); //sol arka bacak

Serial1.begin(9600);

}

void loop() {

if(SerialUSB.available() > 0){

state = SerialUSB.read();

}

if(state == '1'){ //first position

Dxl.setPosition(ID_NUM1, 355, 200); //Sol ön bacak 1. eklem(left front leg, 1. joint)

Dxl.setPosition(ID_NUM5, 752, 50); //Sol ön bacak 2. eklem

Dxl.setPosition(ID_NUM9, 302, 50); //Sol ön bacak 3. eklem

Dxl.setPosition(ID_NUM3, 649, 200); //Sol arka bacak 1. eklem(left back leg, 1. joint)

Dxl.setPosition(ID_NUM7, 752, 90); //Sol arka bacak 2. eklem

Dxl.setPosition(ID_NUM11, 302,50); //Sol arka bacak 3. eklem

Dxl.setPosition(ID_NUM4, 355, 200); //Sağ arka bacak 1. eklem

Dxl.setPosition(ID_NUM8, 272, 90); //Sağ arka bacak 2. eklem

Dxl.setPosition(ID_NUM12, 702, 50); //Sağ arka bacak 3. eklem

Dxl.setPosition(ID_NUM2, 669, 200); //Sağ ön bacak 1. eklem

Dxl.setPosition(ID_NUM6, 272, 50); //Sağ ön bacak 2. eklem

Dxl.setPosition(ID_NUM10, 702, 50); //Sağ ön bacak 3. eklem

}

if(state == '2'){ //first step

Dxl.setPosition(ID_NUM1, 355, 50); //Sol ön bacak 1. eklem ( sol ön bacak ileri )

Dxl.setPosition(ID_NUM5, 602, 100); //Sol ön bacak 2. eklem (150 azalttım)

Dxl.setPosition(ID_NUM9, 452, 50); //Sol ön bacak 3. eklem (150 arttırdım)

Dxl.setPosition(ID_NUM4, 355, 50); //Sağ arka bacak 1. eklem (sağ arka bacak ileri )

Dxl.setPosition(ID_NUM8, 422, 100); //Sağ arka bacak 2. eklem ( 150 arttırdım)

Dxl.setPosition(ID_NUM12, 552, 50); //Sağ arka bacak 3. eklem ( 150 azalttım)

Dxl.setPosition(ID_NUM3, 649, 50); //Sol arka bacak 1. eklem (kendine çekip ilk pozisyonuna döndürüyorum) ( sol arka bacak geri )

Dxl.setPosition(ID_NUM7, 702, 100); //Sol arka bacak 2. eklem(1. pozisyona göre 50 arttırdım. ileri giderken cihazı geri çekmesin diye)

Dxl.setPosition(ID_NUM11, 352,50); //Sol arka bacak 3. eklem(1. pozisyona göre 512 ye 50 yaklaştırdım)

Dxl.setPosition(ID_NUM2, 669, 50); //Sağ ön bacak 1. eklem(kendine çekip ilk pozisyonuna döndürüyorum) ( sağ ön bacak geri )

Dxl.setPosition(ID_NUM6, 272, 100); //Sağ ön bacak 2. eklem

Dxl.setPosition(ID_NUM10, 652, 50); //Sağ ön bacak 3. eklem(1. pozisyona göre 512 ye 50 yaklaştırdım)

delay(1100);

Dxl.setPosition(ID_NUM1, 355, 50); //Sol ön bacak 1. eklem (kendine çekip ilk pozisyona döndürüyorum)

Dxl.setPosition(ID_NUM5, 752, 100); //Sol ön bacak 2. eklem

Dxl.setPosition(ID_NUM9, 352, 50); //Sol ön bacak 3. eklem(1. pozisyona göre 512 ye 50 yaklaştırdım)

Dxl.setPosition(ID_NUM4, 355, 50); //Sağ arka bacak 1. eklem(kendine çekip ilk pozisyonuna döndürüyorum)

Dxl.setPosition(ID_NUM8, 322, 100); //Sağ arka bacak 2. eklem(1. pozisyona göre 50 arttırdım. ileri giderken cihazı geri çekmesin diye)

Dxl.setPosition(ID_NUM12, 652, 50); //Sağ arka bacak 3. eklem(1. pozisyona göre 512 ye 50 yaklaştırdım)

Dxl.setPosition(ID_NUM2, 669, 50); //Sağ ön bacak 1. eklem

Dxl.setPosition(ID_NUM6, 422, 100); //Sağ ön bacak 2. eklem

Dxl.setPosition(ID_NUM10, 552, 50); //Sağ ön bacak 3. eklem

Dxl.setPosition(ID_NUM3, 649, 50); //Sol arka bacak 1. eklem

Dxl.setPosition(ID_NUM7, 602, 100); //Sol arka bacak 2. eklem

Dxl.setPosition(ID_NUM11, 452,50); //Sol arka bacak 3. eklem

delay(1100);

}

if(state == '7'){

Dxl.setPosition(ID_NUM1, 475, 100); //Sol ön bacak 1. eklem

Dxl.setPosition(ID_NUM5, 752, 50); //Sol ön bacak 2. eklem

Dxl.setPosition(ID_NUM9, 302, 50); //Sol ön bacak 3. eklem

Dxl.setPosition(ID_NUM3, 529, 100); //Sol arka bacak 1. eklem

Dxl.setPosition(ID_NUM7, 752, 50); //Sol arka bacak 2. eklem

Dxl.setPosition(ID_NUM11, 302,50); //Sol arka bacak 3. eklem

Dxl.setPosition(ID_NUM4, 355, 100); //Sağ arka bacak 1. eklem

Dxl.setPosition(ID_NUM8, 272, 90); //Sağ arka bacak 2. eklem

Dxl.setPosition(ID_NUM12, 652, 50); //Sağ arka bacak 3. eklem

Dxl.setPosition(ID_NUM2, 669, 100); //Sağ ön bacak 1. eklem

Dxl.setPosition(ID_NUM6, 272, 50); //Sağ ön bacak 2. eklem

Dxl.setPosition(ID_NUM10, 652, 50); //Sağ ön bacak 3. eklem

delay(700);

Dxl.setPosition(ID_NUM1, 355, 100); //Sol ön bacak 1. eklem

Dxl.setPosition(ID_NUM5, 752, 50); //Sol ön bacak 2. eklem

Dxl.setPosition(ID_NUM9, 352, 50); //Sol ön bacak 3. eklem

Dxl.setPosition(ID_NUM3, 649, 100); //Sol arka bacak 1. eklem

Dxl.setPosition(ID_NUM7, 752, 90); //Sol arka bacak 2. eklem

Dxl.setPosition(ID_NUM11, 352,50); //Sol arka bacak 3. eklem

Dxl.setPosition(ID_NUM4, 475, 100); //Sağ arka bacak 1. eklem

Dxl.setPosition(ID_NUM8, 272, 90); //Sağ arka bacak 2. eklem

Dxl.setPosition(ID_NUM12, 702, 50); //Sağ arka bacak 3. eklem

Dxl.setPosition(ID_NUM2, 559, 100); //Sağ ön bacak 1. eklem

Dxl.setPosition(ID_NUM6, 272, 50); //Sağ ön bacak 2. eklem

Dxl.setPosition(ID_NUM10, 702, 50); //Sağ ön bacak 3. eklem

delay(700);

}

if(state == '6'){ // dance

Dxl.setPosition(ID_NUM3, 649, 50);

Dxl.setPosition(ID_NUM7, 512, 50); //sol arka

Dxl.setPosition(ID_NUM11, 562,50);

Dxl.setPosition(ID_NUM1, 355, 50);

Dxl.setPosition(ID_NUM5, 512, 50); //sol ön

Dxl.setPosition(ID_NUM9, 402, 50);

Dxl.setPosition(ID_NUM4, 375, 50);

Dxl.setPosition(ID_NUM8, 512, 50); //sağ arka

Dxl.setPosition(ID_NUM12, 462, 50);

Dxl.setPosition(ID_NUM2, 669, 50);

Dxl.setPosition(ID_NUM6, 512, 50); //sağ ön

Dxl.setPosition(ID_NUM10, 602, 50);

delay(2500);

Dxl.setPosition(ID_NUM3, 649, 50);

Dxl.setPosition(ID_NUM7, 752, 50); //sol arka

Dxl.setPosition(ID_NUM11, 302,50);

Dxl.setPosition(ID_NUM1, 355, 50);

Dxl.setPosition(ID_NUM5, 752, 50); //sol ön

Dxl.setPosition(ID_NUM9, 302, 50);

Dxl.setPosition(ID_NUM4, 355, 50);

Dxl.setPosition(ID_NUM8, 272, 50); //sağ arka

Dxl.setPosition(ID_NUM12, 702, 50);

Dxl.setPosition(ID_NUM2, 669, 50);

Dxl.setPosition(ID_NUM6, 272, 50); //sağ ön

Dxl.setPosition(ID_NUM10, 702, 50);

delay(2350);

Dxl.setPosition(ID_NUM1, 355, 50); // A

Dxl.setPosition(ID_NUM5, 592, 50);

Dxl.setPosition(ID_NUM9, 612, 50);

Dxl.setPosition(ID_NUM3, 649, 50);

Dxl.setPosition(ID_NUM7, 902, 50); //sol arka

Dxl.setPosition(ID_NUM11, 302,50);

Dxl.setPosition(ID_NUM2, 669, 50); //B

Dxl.setPosition(ID_NUM6, 432, 50); //

Dxl.setPosition(ID_NUM10, 402, 50); //

Dxl.setPosition(ID_NUM4, 355, 50);

Dxl.setPosition(ID_NUM8, 122, 50); //sağ arka

Dxl.setPosition(ID_NUM12, 702, 50);

delay(2700);

Dxl.setPosition(ID_NUM3, 649, 50);

Dxl.setPosition(ID_NUM7, 752, 50); //sol arka

Dxl.setPosition(ID_NUM11, 302,50);

Dxl.setPosition(ID_NUM1, 355, 50);

Dxl.setPosition(ID_NUM5, 752, 50); //sol ön

Dxl.setPosition(ID_NUM9, 302, 50);

Dxl.setPosition(ID_NUM4, 355, 50);

Dxl.setPosition(ID_NUM8, 272, 50); //sağ arka

Dxl.setPosition(ID_NUM12, 702, 50);

Dxl.setPosition(ID_NUM2, 669, 50);

Dxl.setPosition(ID_NUM6, 272, 50); //sağ ön

Dxl.setPosition(ID_NUM10, 702, 50);

delay(2150);

}

if(state == '3'){

Dxl.setPosition(ID_NUM1, 355, 200); // A

Dxl.setPosition(ID_NUM5, 642, 50);

Dxl.setPosition(ID_NUM9, 562, 50);

Dxl.setPosition(ID_NUM3, 649, 200);

Dxl.setPosition(ID_NUM7, 652, 50); //sol arka

Dxl.setPosition(ID_NUM11, 302,50);

Dxl.setPosition(ID_NUM2, 669, 200); //B

Dxl.setPosition(ID_NUM6, 381, 50); //

Dxl.setPosition(ID_NUM10, 462, 50); //

Dxl.setPosition(ID_NUM4, 355, 200);

Dxl.setPosition(ID_NUM8, 372, 50); //sağ arka

Dxl.setPosition(ID_NUM12, 702, 50);

}

if(state == '4'){

Dxl.setPosition(ID_NUM3, 649, 50);

Dxl.setPosition(ID_NUM7, 512, 50); //sol arka

Dxl.setPosition(ID_NUM11, 642,50);

Dxl.setPosition(ID_NUM1, 355, 50);

Dxl.setPosition(ID_NUM5, 512, 50); //sol ön

Dxl.setPosition(ID_NUM9, 352, 50);

Dxl.setPosition(ID_NUM4, 375, 50);

Dxl.setPosition(ID_NUM8, 512, 50); //sağ arka

Dxl.setPosition(ID_NUM12, 382, 50);

Dxl.setPosition(ID_NUM2, 669, 50);

Dxl.setPosition(ID_NUM6, 512, 50); //sağ ön

Dxl.setPosition(ID_NUM10, 652, 50);

}

if(state == '8'){

Dxl.setPosition(ID_NUM1, 355, 200); // A

Dxl.setPosition(ID_NUM5, 642, 50);

Dxl.setPosition(ID_NUM9, 562, 50);

Dxl.setPosition(ID_NUM3, 649, 200);

Dxl.setPosition(ID_NUM7, 652, 50); //sol arka

Dxl.setPosition(ID_NUM11, 302,50);

Dxl.setPosition(ID_NUM2, 669, 200); //B

Dxl.setPosition(ID_NUM6, 381, 50); //

Dxl.setPosition(ID_NUM10, 462, 50); //

Dxl.setPosition(ID_NUM4, 355, 200);

Dxl.setPosition(ID_NUM8, 372, 50); //sağ arka

Dxl.setPosition(ID_NUM12, 702, 50);

delay(2000);

Dxl.setPosition(ID_NUM5, 472, 100);

Dxl.setPosition(ID_NUM9, 332, 100);

delay(2000);

}

}

science fictionscienceproduct reviewartificial intelligenceanime
Like

About the Creator

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2024 Creatd, Inc. All Rights Reserved.