L298N 모터 드라이버: 두 판 사이의 차이
(새 문서: {{#seo:|title=아두위키 : 아두이노 L298N 모터 드라이버 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, L298N 모터 드라이버, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 L298N 모터 드라이버를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}718x718픽셀...) |
잔글편집 요약 없음 |
||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
{{#seo:|title=아두위키 : 아두이노 L298N 모터 드라이버 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, L298N 모터 드라이버, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 L298N 모터 드라이버를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:L298N.jpg| | {{#seo:|title=아두위키 : 아두이노 L298N 모터 드라이버 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, L298N 모터 드라이버, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 L298N 모터 드라이버를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:L298N.jpg|가운데|class=coders100]] | ||
모터의 속도와 방향을 제어할 수 있는 모듈입니다. | 모터의 속도와 방향을 제어할 수 있는 모듈입니다. | ||
60번째 줄: | 60번째 줄: | ||
| colspan="1" rowspan="1" |연결 | | colspan="1" rowspan="1" |연결 | ||
|} | |} | ||
[[파일:L298N 회로.png| | [[파일:L298N 회로.png|가운데|class=coders100]] | ||
== '''예제 코드''' == | == '''예제 코드''' == | ||
<syntaxhighlight lang="c++" line="1"> | 속도가 점점 줄어들다가 멈추고, 다시 반대 방향으로 회전하는 예제입니다.<syntaxhighlight lang="c++" line="1"> | ||
const int IN1 = 8; | const int IN1 = 8; | ||
const int IN2 = 7; | const int IN2 = 7; | ||
99번째 줄: | 99번째 줄: | ||
=== 실행 결과 === | === 실행 결과 === | ||
<div class="coders70"> | |||
<youtube> V2skKXsyCGE </youtube> | |||
</div> | |||
2024년 7월 10일 (수) 14:24 기준 최신판
모터의 속도와 방향을 제어할 수 있는 모듈입니다.
2개의 DC 모터 혹은 1개의 스텝모터를 제어할 수 있습니다.
사양
- 입력 전압 : 9V ~ 12V
- PWM 신호로 속도 제어
- 디지털 신호로 방향 제어
예제 사용 하드웨어
연결
아두이노 우노 | L298N 모터 드라이버 | DC 모터 | 전원부 |
GND | GND | GND | |
D9 | ENA | ||
D8 | IN1 | ||
D7 | IN2 | ||
9 ~ 12V | VCC | ||
OUT1 | 연결 | ||
OUT2 | 연결 |
예제 코드
속도가 점점 줄어들다가 멈추고, 다시 반대 방향으로 회전하는 예제입니다.
const int IN1 = 8;
const int IN2 = 7;
const int ENA = 9;
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 255);
delay(2000);
analogWrite(ENA, 170);
delay(2000);
analogWrite(ENA, 85);
delay(2000);
analogWrite(ENA, 0);
delay(2000);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, 255);
delay(2000);
analogWrite(ENA, 170);
delay(2000);
analogWrite(ENA, 85);
delay(2000);
analogWrite(ENA, 0);
delay(2000);
}
void loop() {
delay(100);
}
실행 결과