BASIC4MCU | 질문게시판 | 아두이노 질문 드립니다
페이지 정보
작성자 전재 작성일2020-04-20 12:34 조회16,733회 댓글3건본문
안녕하세요 아두이노 서보쉴드를 이용 , 3개의 서보모터를 이용해서 3자유도 로봇팔 조종을 계획하고 있습니다.
#include "HCPCA9685.h"
#define I2CAdd 0x40
HCPCA9685 HCPCA9685(I2CAdd);
void setup()
{
HCPCA9685.Init(SERVO_MODE);
HCPCA9685.Sleep(false);
}
void loop()
{
unsigned int Pos;
for(Pos = 10; Pos < 450; Pos++)
{
HCPCA9685.Servo(0, Pos);
delay(10);
}
for(Pos = 450; Pos >= 10; Pos--)
{
HCPCA9685.Servo(0, Pos);
delay(10);
}
}
0번에 꽂은 서보모터가 좌우로 반복적으로 회전하는건 확인을 했습니다.
0번 서보모터가 180도 회전후, 원상태로 다시 회전하기 전에 다른 서보모터의 움직임을 구현하고 싶은데
void loop()
{
unsigned int Pos;
for(Pos = 10; Pos < 450; Pos++)
{
HCPCA9685.Servo(0, Pos);
delay(10);
}
이 부분
for(Pos = 450; Pos >= 10; Pos--)
{
HCPCA9685.Servo(0, Pos);
delay(10);
}
}
표시된 부분에 다른 서보모터의 움직임을 입력하면 순서대로 진행이 되지 않고 두개의 서보모터가 같이 움직이는 모습을 보입니다.
아두이노를 처음 접해봐서 미숙한 부분이 많은데 3개의 서보모터를 순차적으로 움직이게 하려면 어떻게 해야할까요?
댓글 3
조회수 16,733master님의 댓글
master 작성일
https://forum.hobbycomponents.com/viewtopic.php?t=2034
이 글 제일 아래에보면 2개의 서보모터 예제가 있으니 참고하세요
전재님의 댓글
전재
#include "HCPCA9685.h"
#define I2CAdd_1 0x40
#define I2CAdd_2 0x41
HCPCA9685 HCPCA9685_1(I2CAdd_1);
HCPCA9685 HCPCA9685_2(I2CAdd_2);
void setup()
HCPCA9685_1.Init(SERVO_MODE);
HCPCA9685_2.Init(SERVO_MODE);
HCPCA9685_1.Sleep(false);
HCPCA9685_2.Sleep(false);
HCPCA9685_1.Servo(0, 350);
HCPCA9685_2.Servo(3, 350);
}
void loop()
{
}
서보모터 쉴드 0번과 3번에 각각 연결한뒤 소스코드 구동을 시켜봤는데 0번 모터는 잘 움직이지만 3번 모터는 움직임을 보이지 않습니다 ㅠㅠ 전력 문제일까요?
master님의 댓글
master
#define I2CAdd_1 0x40
#define I2CAdd_2 0x41
이 선언이 0번과 3번인가요?
0번과 1번 아닐까요?