NodeMCU를 이용해서 최대 12 채널 짜리 서보 컨트롤러를 만들기로 했으니, 일단 아두이노 서보 라이브러리를 붙여서 잘되는지 확인해볼 차례가 되었다. NodeMCU의 자체의 상세한 내용은 몰라도 아두이노 라이브러리를 이용하면 서보제어를 할 수 있다고 한다.
서보 컨트롤러를 만들기 위해서 모터 연결을 위한 핀헤더를 단 보드를 만들었다.
일단 보드와 모터 전원은 분리하고 (그라운드만 연결) GPIO를 서보 컨트롤 단자에 직결한 간단한 구성이다.
모터 전원으로는 전류 특성이 좋은 별도의 충전지를 사용한다.
테스트 프로그램은 아두이노에서 작성하는데, 서보 라이브러리를 사용하므로 이를 스케치에 포함시킨다.
사용한 테스트 코드는 다음과 같다.
servo0.ino
#include <Servo.h>
#define ND_D0 16
#define ND_D1 5
#define ND_D2 4
#define ND_D3 0
#define ND_D4 2
#define ND_D5 14
#define ND_D6 12
#define ND_D7 13
#define ND_D8 15
#define ND_RX 3
#define ND_TX 1
//#define ND_S2 10
//#define ND_S3 9
#define servoPin ND_D0
Servo servo;
void setup() {
servo.attach(servoPin);
servo.write(0);
delay(500);
}
void loop() {
servo.write(90);
delay(500);
servo.write(180);
delay(500);
servo.write(90);
delay(500);
servo.write(0);
delay(500);
}
핀 이름과 GPIO 번호가 조금 헷갈리는 경우가 많으므로, 보드의 실크에 표시된 이름 기준으로 핀 번호를 지정했다.
원래 12 개까지 사용할 수 있도록 하려고 했으나, S2, S3는 입력만 가능한 핀이어서, 사용 할 수 있는 모터의 수는 11개로 줄어들었다.
프로그램을 실행시키면 서보모터가 0-90-180-90-0의 순서로 0.5초마다 이동한다.
반응형
'MCU > NodeMCU' 카테고리의 다른 글
미니 워터펌프 모터 전류 측정 (0) | 2020.03.16 |
---|---|
NodeMCU - 10 개의 서보모터 wifi 제어 (0) | 2020.03.08 |
NodeMCU - 두 개의 서보모터 wifi 제어 (1) | 2020.03.08 |
NodeMCU - 서보모터 wifi 제어 (0) | 2020.03.08 |
NodeMCU 설정 (0) | 2020.03.08 |