Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
Servo myservo6;
void setup()
{
myservo1.attach(3);
myservo2.attach(5);
myservo3.attach(6);
myservo4.attach(9);
myservo5.attach(10);
myservo6.attach(11);
}
int pos[] = {
160,159,158,157,156,155,154,153,152,151,150,149,148,147,146,145,144,143,142,141,
140,139,138,137,136,135,134,133,132,131,130,129,128,127,126,125,124,123,122,121,
120,119,118,117,116,115,114,113,112,111,110,
110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,
130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,
150,151,152,153,154,155,156,157,158,159,160
};
int pos1[] = {
130,129,128,127,126,125,124,123,122,121,120,119,118,117,116,115,114,113,112,111,110,109,108,107,106,105,104,103,102,101,100,
99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,
80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100
,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130
};
int pos2[] ={
65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100
,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
115,114,113,112,111,110,109,108,107,106,105,104,103,102,101,100,
99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65
};
/////////////////////////////////////////////////////////////////////////////////////////////////
int pos3[] = {
160,159,158,157,156,155,154,153,152,151,150,149,148,147,146,145,144,143,142,141,
140,139,138,137,136,135,134,133,132,131,130,129,128,127,126,125,124,123,122,121,
120,119,118,117,116,115,114,113,112,111,110,
110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,
130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,
150,151,152,153,154,155,156,157,158,159,160,
};
int pos4[] = {
40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,
90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41
};
int pos5[] ={ 65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100
,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
115,114,113,112,111,110,109,108,107,106,105,104,103,102,101,100,
99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65
}; //골반
void loop()
{
for (int i = 0; i <= 100; i++)
{
myservo1.write(pos[i]);
myservo2.write(pos1[i]);
myservo3.write(pos2[i]);
myservo4.write(pos3[i]);
myservo5.write(pos4[i]);
myservo6.write(pos5[i]);
delay(20); //속도 조절
}
}
코그모 걷는 모션 소스입니다
배열로 할당해서 for문으로 돌립니다
정말 간단하고 직관적입니다
근데 수정하기는 좀 번거롭습니다......
#include <Servo.h>
//
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
Servo myservo6;
int pos1=0,pos2=0,pos3=0,pos4=0,pos5=0,pos6=0;
//
void setup(){
myservo1.attach( 3); myservo2.attach( 5); myservo3.attach( 6);
myservo4.attach( 9); myservo5.attach(10); myservo6.attach(11);
}
void loop(){
if(pos1=90)pos1=0; else pos1++;
if(pos2=90)pos1=0; else pos2++;
if(pos3=90)pos1=0; else pos3++;
if(pos4=90)pos1=0; else pos4++;
if(pos5=90)pos1=0; else pos5++;
if(pos6=90)pos1=0; else pos6++;
myservo1.write(pos1); myservo2.write(pos2); myservo3.write(pos3);
myservo4.write(pos4); myservo5.write(pos5); myservo6.write(pos6);
delay(10);
}
새롭게 참조할 코드입니다
될지 안될지는 모르겠지만....
일단 코그모 설계부터 잘못되서
솔리드웍스 배우고 새로 설계를 한 후
만들어서 코드를 짜봐야겠습니다
지금 비율이 똥망인 애를 걷게 해봤자 걸어지나요...
설계를 완성할때까지 코그모는 잠정 보류!
댓글 없음:
댓글 쓰기