오차막대: 두 판 사이의 차이
ㅇ |
ㄷ |
||
| 17번째 줄: | 17번째 줄: | ||
=== ③ DC & 스태핑 모터 연결 === | === ③ DC & 스태핑 모터 연결 === | ||
모터 연결부에는 총 4개의 연결부가 | 모터 연결부에는 총 4개의 연결부가 존재하며, 이 연결부는 2개씩 A와 B로 구분된다. 모터를 사용하기 위해서는 A 혹은 B 중 하나를 선택하여 해당 연결부에만 선을 연결해야 한다. A에 하나, B에 하나씩 선을 연결할 경우 모터는 작동하지 않는다. 따라서 모터 A와 모터 B, 총 2개의 모터를 연결할 수 있다. 각 모터의 핀 배치는 다음과 같다. A의 속도 조절은 10번, A의 방향 조절은 12번이며, B의 경우 속도 조절은 11번, 방향 조절은 13번이다. | ||
아래는 모터를 A에 연결했을 때의 코드 예제이다. | |||
int E1 = 10; //속도 조절 핀 | |||
int M1 = 12; //방향 조절 핀 | |||
void setup() | |||
{ | |||
pinMode(M1, OUTPUT); //12번핀으로 방향 조절 | |||
} | |||
void loop() | |||
{ | |||
digitalWrite(M1,HIGH); //HIGH에서 LOW로 바꾸면 반대 방향으로 회전 | |||
analogWrite(E1, 255); //0~255로 모터의 속도 조절이 가능하다. | |||
delay(30); | |||
} | |||
2025년 12월 17일 (수) 05:03 판
개요
이 문서는 아두이노의 모터 쉴드 중 L298P 다기능 모터쉴드(아두이노 L298P 모터 드라이버 H브리지 쉴드)의 사용법과 활용법에 대해 다룬다.
모터 드라이버(모터 쉴드)란?
모터 드라이버란 아두이노 같은 마이크로컨트롤러의 약한 신호를 증폭해 여러 모터를 제어하는 장치이다. 모터 쉴드란 모터 드라이버의 일종으로 컨트롤러 보드에 직접 꽂아 여러 장치를 쉽게 제어할 수 있게 해주는 확장 보드이다.
아두이노 L298P 모터 드라이버 H브리지 쉴드
① 외부 전원 공급
아두이노는 기본적으로 5V로 작동한다. 따라서 모터 쉴드를 부착하더라도 외부 전원을 연결하지 않으면 모터에는 최대 5V까지만 인가할 수 있다. 반면, 외부 전원을 연결하면 최대 12V까지 전압을 공급할 수 있다. 이때 외부 전원을 사용할 경우에는 반드시 OPT 점퍼캡을 제거해야 한다. 따라서 출력이 큰 모터를 구동할 때는 외부 전원을 반드시 연결해야 한다. (허용 전류는 2A이다.) 외부전원의 (-)극은 GND, (+)극은 VMS에 연결한다.
② OPT 점퍼캡
OPT 점퍼캡은 아두이노와 모터 쉴드 사이를 연결하는 일종의 연결 다리 역할을 한다. 따라서 OPT 점퍼캡이 장착된 상태에서는 아두이노의 5V 전압이 모터 쉴드에도 전달된다. 이 경우 별도의 외부 전원 없이도 모터를 구동할 수 있다. 그러나 외부 전원이 필요한 상황에서는 반드시 OPT 점퍼캡을 제거한 뒤 외부 전원을 연결해야 한다. 점퍼캡이 연결된 상태에서 모터 쉴드에 높은 외부 전압을 인가하면, 그 전압이 그대로 아두이노로 전달되어 아두이노가 손상될 수 있기 때문이다. 한편, 점퍼캡을 제거한 상태에서도 블루투스와 같은 아두이노의 기본 기능은 정상적으로 사용할 수 있다.
③ DC & 스태핑 모터 연결
모터 연결부에는 총 4개의 연결부가 존재하며, 이 연결부는 2개씩 A와 B로 구분된다. 모터를 사용하기 위해서는 A 혹은 B 중 하나를 선택하여 해당 연결부에만 선을 연결해야 한다. A에 하나, B에 하나씩 선을 연결할 경우 모터는 작동하지 않는다. 따라서 모터 A와 모터 B, 총 2개의 모터를 연결할 수 있다. 각 모터의 핀 배치는 다음과 같다. A의 속도 조절은 10번, A의 방향 조절은 12번이며, B의 경우 속도 조절은 11번, 방향 조절은 13번이다.
아래는 모터를 A에 연결했을 때의 코드 예제이다.
int E1 = 10; //속도 조절 핀
int M1 = 12; //방향 조절 핀
void setup()
{
pinMode(M1, OUTPUT); //12번핀으로 방향 조절
}
void loop()
{
digitalWrite(M1,HIGH); //HIGH에서 LOW로 바꾸면 반대 방향으로 회전
analogWrite(E1, 255); //0~255로 모터의 속도 조절이 가능하다.
delay(30);
}