아두이노 dc모터 정지 코드 - adu-ino dcmoteo jeongji kodeu

[오늘의 타겟] DC 모터 / 모터 드라이버 

- DC 모터

- 2개에 선에 전압을 입력하면 모터가 돌아간다.

- 전압의 방향을 반대로 입력하면 모터도 반대로 돌아간다.

- 참고자료

//m.blog.naver.com/kids_power/221572444008

[아두이노/DC모터] DC 모터와 모터 드라이버 사용법

안녕하세요! 휴몬랩 입니다. 오늘은 DC 모터와 모터 드라이버 사용법에 대해 알아볼까 합니다. 준비물 아...

blog.naver.com

- 모터 드라이브 : L298N

   ->모터 가동에 필요한 충분한 전류, 전압을 제공.

참고자료. 모터드라이브를 사용하는 이유.

//blog.naver.com/PostView.nhn?blogId=ycpiglet&logNo=222050336319&categoryNo=29&parentCategoryNo=0 

모터 드라이버의 사용 이유 (DC모터, 아두이노)

DC 모터 모터란 전기 에너지를 기계 에너지로 변환해주는 장치이다. 굉장히 많은 영역에서 모터를 사용하...

blog.naver.com

*** 오늘 실습 재료
DC 모터 2개
바퀴 2개
모터드라이버(빨간색)
아두이노
아두이노 선
아두이노 케이블

[실습 1] 모터 1개 전진-후진 기본코드

- 사전작업 : 5v 인에이블 점퍼제거

 - 모터드라이브 기본 회로 구성

- 바퀴 결합

- 아두이노 모터 드라이버 구동회로

// 3번과 4번 핀은 모터 제어에 관한 핀 int IN1Pin = 3; int IN2Pin = 4; // 5번핀은 모터의 힘을 설정해주는 핀 int ENPin = 5; void setup() { pinMode(IN1Pin, OUTPUT); pinMode(IN2Pin, OUTPUT); // 3, 4번 제어핀들은 핀모드를 출력은로 설정 analogWrite(ENPin, 255); //5번 핀에 255의 최대 힘을 설정한다. } void loop() { //Go : 핀 3, 핀 4 에 신호를 다르게 하면 전진 digitalWrite(IN1Pin, HIGH); digitalWrite(IN2Pin, LOW); delay(5000);//5sec //Back : 핀 3, 핀 4 에 신호를 다르게 하면 후진 digitalWrite(IN1Pin, LOW); digitalWrite(IN2Pin, HIGH); delay(5000);//5sec //Brake (Stop) 핀 3, 4에 똑같이 High를 주거나 Low을 주면 은 멈춘다. digitalWrite(IN1Pin, HIGH); digitalWrite(IN2Pin, HIGH); delay(5000);//1sec }

[실습 2] 모터 1개 전진-후진울 시리얼모니터로 제어

- 실습1 회로를 그대로 씁니다.

- 시리얼 모니터란? 

  -> 컴퓨터로 아두이노를 제어하기 위한 통신 포트

 - 시리얼 통신으로 모터 제어 코드

int IN1Pin = 3; int IN2Pin = 4; int ENPin = 5; void setup() { pinMode(IN1Pin, OUTPUT); pinMode(IN2Pin, OUTPUT); analogWrite(ENPin, 255); //Max Speed Serial.begin(9600); Serial.println("start !! "); } void loop() { if(Serial.available()) //시리얼모니터에서 데이터가 들어오면 { char in_data; // 입력된 데이터 저장을 위한 변수 in_data = Serial.read(); //입력된 데이터 in_data에 저장 Serial.print("data : "); Serial.println(in_data); if(in_data == '1') //입력된 데이터가 '1'이라면 { digitalWrite(IN1Pin, HIGH); digitalWrite(IN2Pin, LOW); } else if(in_data == '2') //입력된 데이터가 '2'이라면 { //뒤로 회전 (어떤 방향으로 꽂았느냐에 따라서 방향 반대) digitalWrite(IN1Pin, LOW); digitalWrite(IN2Pin, HIGH); } else if(in_data == '3') //입력된 데이터가 '3'이라면 { //회전 정지 digitalWrite(IN1Pin, HIGH); digitalWrite(IN2Pin, HIGH); } } }

자료 출처 : //codingrun.com/111

아래 사진과 같이 잘 작동 하나요?

[실습 3] 모터 2개를 제어 해 보자.

모터 2개 제어 회로 주요 이슈

- 모터가 2개부터는 외부 전원에서 전원을 모터드라이브에 추가로 공급해 주어야 한다.

- 이때 포인트는 외부 전압원  GND 와 아두이노 GND를 연결하여 전기적으로 평형을 맞추어야 한다.

- 위 회로에서는  아두이노  V_in  에 외부 전원 VCC 를 공급해 줌으로 아두이노에게도 전원을 공급한다.

실습 회로와 프로그래밍 코드는 아래 url을 타고 들어가서 진행하세요~!

//steemit.com/arduino/@jhis21c/dc-dc

DC 모터 드라이버를 이용해서 DC모터 제어하기 — Steemit

이번 튜토리얼 에서는 DC 모터 드라이버를 이용해서 2개의 DC모터를 제어 하는 방법을 배워 보도록 하겠습니다. DC 모터는 DC(직류)전원으로 작동하는 모터를 말하며 모형 자동차, 무선조정용 장난

steemit.com

[도전 과제] 

모터 2개 회로를 시리얼 모니터로 제어 해보세요.

W 누르면 바퀴 전진

S 누르면 바퀴 후진

A 누르면 좌회전

D 누르면 우회전

X 누르면 버튼은 바퀴 모두 정지

- 회로는 [실습 3] 회로 그대로 쓰시면 됩니다.

- 프로그래밍 코드는 [실습 2] 회로를 수정해서 쓰면 됩니다.

int IN1Pin = 8; int IN2Pin = 7; int IN3Pin = 2; int IN4Pin = 4; int ENAPin = 6; int ENBPin = 3; void setup() { Serial.begin(9600); pinMode(IN1Pin, OUTPUT); pinMode(IN2Pin, OUTPUT); pinMode(IN3Pin, OUTPUT); pinMode(IN4Pin, OUTPUT); analogWrite(ENAPin, 255); analogWrite(ENBPin, 255); } void loop() { if(Serial.available()) //시리얼모니터에서 데이터가 들어오면 { char in_data; // 입력된 데이터 저장을 위한 변수 in_data = Serial.read(); //입력된 데이터 in_data에 저장 Serial.print("data : "); Serial.println(in_data); if(in_data == 's') { digitalWrite(IN1Pin, HIGH); digitalWrite(IN2Pin, LOW); digitalWrite(IN3Pin, HIGH); digitalWrite(IN4Pin, LOW); delay(1000); } else if(in_data == 'w') { digitalWrite(IN1Pin, LOW); digitalWrite(IN2Pin, HIGH); digitalWrite(IN3Pin, LOW); digitalWrite(IN4Pin, HIGH); delay(1000); } else if(in_data == 'd') { digitalWrite(IN1Pin, HIGH); digitalWrite(IN2Pin, LOW); digitalWrite(IN3Pin, LOW); digitalWrite(IN4Pin, HIGH); } else if(in_data == 'a') { digitalWrite(IN1Pin, LOW); digitalWrite(IN2Pin, HIGH); digitalWrite(IN3Pin, HIGH); digitalWrite(IN4Pin, LOW); } else if(in_data == 'x') { digitalWrite(IN1Pin, HIGH); digitalWrite(IN2Pin, HIGH); digitalWrite(IN3Pin, HIGH); digitalWrite(IN4Pin, HIGH); } } }

- 도전과제 완료 후 원킹쌤에게 검사 받고 보고서 작성하면 됩니다.

끝.

Toplist

최신 우편물

태그