BASIC4MCU | 질문게시판 | 아두이노 서보모터 다중제어 질문드립니다.
페이지 정보
작성자 서보모토능력자 작성일2021-01-12 10:12 조회44회 댓글1건본문
#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
void setup() {
myservo1.attach(8);
myservo2.attach(9);
myservo3.attach(10);
myservo4.attach(11);
myservo5.attach(12);
}
void loop() {
myserwrite(0);vo1.
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
myservo5.write(0);
delay(1000);
myservo1.write(180);
myservo2.write(180);
myservo3.write(180);
myservo4.write(180);
myservo5.write(180);
delay(1000);
}
이렇게하면 1~5까지의 서보 모터들이 전부 1초간격으로 180도 움직이게 되는데
궁금한 점은
맨위 myservo1만 8초 마다 움직이고
나머지 2,3,4,5는 그대로 1초마다 움직이게 할 수 있는 방법이 어떻게 됩니까?
귀찮겠지만 소스 수정 부탁드립니다 교수님 :)
댓글 1
조회수 44master님의 댓글
master 작성일
#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
//
long t,t1,t8;
bool b1,b8;
//
void setup() {
myservo1.attach(8); myservo2.attach(9); myservo3.attach(10); myservo4.attach(11); myservo5.attach(12);
myservo1.write(0); myservo2.write(0); myservo3.write(0); myservo4.write(0); myservo5.write(0);
}
//
void loop() {
t=millis();
//
if(t-t1>=1000){ t1=t;
b1^=1;
if(b1){ myservo2.write(180); myservo3.write(180); myservo4.write(180); myservo5.write(180); }
else { myservo2.write( 0); myservo3.write( 0); myservo4.write( 0); myservo5.write( 0); }
}
//
if(t-t8>=8000){ t8=t;
b8^=1;
if(b8){ myservo1.write(180); }
else { myservo1.write( 0); }
}
}