• 검색 결과가 없습니다.

7 주차 3 강 . 스텝모터와서보모터제어 IoT 의이해

N/A
N/A
Protected

Academic year: 2022

Share "7 주차 3 강 . 스텝모터와서보모터제어 IoT 의이해"

Copied!
21
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

IoT의 이해

전병현 교수

7주차 3강. 스텝 모터와 서보 모터 제어

(2)

학습내용

학습목표

1. 스텝 모터 제어 2. 서보 모터 제어

1. 스텝 모터를 제어할 수 있다.

2. 서보 모터를 제어할 수 있다.

(3)

이미지

준비물 아두이노 보드(1개)

이미지

준비물 9V 건전지(1개) 28BYJ-48 스텝 모터, 쉴드셋

1. 스텝 모터 제어(1)

실습 준비물

(4)

회로도 구성

1. 스텝 모터 제어(2)

회로도 확대

모터 쉴드 IN1→10번 핀, IN2→11번 핀, IN3→12번 핀, IN4→13번 핀

출처 : AUTODESK - TINKERCAD. https://www.tinkercad.com

(5)

실습 소스(1)

1. 스텝 모터 제어(3)

int Pin0 = 10; int Pin1 = 11;

int Pin2 = 12; int Pin3 = 13;

int _step = 0; boolean dir = true;

void setup() {

pinMode(Pin0, OUTPUT);

pinMode(Pin1, OUTPUT);

pinMode(Pin2, OUTPUT);

pinMode(Pin3, OUTPUT);

}

void loop() { switch (_step) {

case 0:

digitalWrite(Pin0, LOW); digitalWrite(Pin1, LOW);

digitalWrite(Pin2, LOW); digitalWrite(Pin3, HIGH);

break;

(6)

실습 소스(2)

1. 스텝 모터 제어(4)

case 1:

digitalWrite(Pin0, LOW); digitalWrite(Pin1, LOW);

digitalWrite(Pin2, HIGH); digitalWrite(Pin3, HIGH);

break;

case 2:

digitalWrite(Pin0, LOW); digitalWrite(Pin1, LOW);

digitalWrite(Pin2, HIGH); digitalWrite(Pin3, LOW);

break;

case 3:

digitalWrite(Pin0, LOW); digitalWrite(Pin1, HIGH);

digitalWrite(Pin2, HIGH); digitalWrite(Pin3, LOW);

break;

case 4:

digitalWrite(Pin0, LOW); digitalWrite(Pin1, HIGH);

digitalWrite(Pin2, LOW); digitalWrite(Pin3, LOW);

break;

(7)

실습 소스(3)

1. 스텝 모터 제어(5)

case 5:

digitalWrite(Pin0, HIGH); digitalWrite(Pin1, HIGH);

digitalWrite(Pin2, LOW); digitalWrite(Pin3, LOW);

break;

case 6:

digitalWrite(Pin0, HIGH); digitalWrite(Pin1, LOW);

digitalWrite(Pin2, LOW); digitalWrite(Pin3, LOW);

break;

case 7:

digitalWrite(Pin0, HIGH); digitalWrite(Pin1, LOW);

digitalWrite(Pin2, LOW); digitalWrite(Pin3, HIGH);

break;

default:

digitalWrite(Pin0, LOW); digitalWrite(Pin1, LOW);

digitalWrite(Pin2, LOW); digitalWrite(Pin3, LOW);

break;

}

(8)

실습 소스(4)

1. 스텝 모터 제어(6)

if (dir) { _step++;

} else { _step--;

}

if (_step > 7) { _step = 0;

}

if (_step < 0) { _step = 7;

}

delay(1);

}

(9)

이미지

준비물 아두이노 보드(1개)

이미지

준비물 서보 모터(1개) 점프선 소량

2. 서보 모터 제어(1)

실습 준비물

(10)

2. 서보 모터 제어(2)

회로도 구성

출처 : AUTODESK - TINKERCAD. https://www.tinkercad.com

5V, GND, 데이터 선은 9번 핀에 연결

(11)

2. 서보 모터 제어(3)

실습 소스

#include <Servo.h> // 서보 모터 헤드 추가 Servo myservo; // 서보 모터 객체

int pos = 0; // 회전에 쓰는 변수 void setup() {

myservo.attach(9); // 서보 모터명.attach(핀 번호) }

void loop() {

for (pos = 0; pos <= 180; pos += 1)

myservo.write(pos); // 0~180도까지 1씩 증가 delay(15);

}

for (pos = 180; pos >= 0; pos -= 1) {

myservo.write(pos); // 180~0도까지 1씩 감소 delay(15);

} }

(12)

학습하기가 끝났습니다.

다음페이지 버튼을 클릭하여

평가문항을 풀어보세요. 프로그램 실습

※ 자료실에서 프로그램 소스 코드를 다운로드 받으세요.

(13)

실습

1. 스텝 모터 제어(1)

1. 실습 준비물 : 아두이노 보드(1개), 브레드 보드(1개), 스텝 모터(1개), 9V 건전지(1개) 2. Half Step으로 한번은 1개의 축을, 한번은 2개의 축을 사용하여 모터를 회전시킨다.

실습 준비물

(14)

실습

1. 스텝 모터 제어(2)

1. 모터 쉴드 1번 핀과 디지털 10번 핀을, 2번 핀과 디지털 11번 핀을, 3번 핀과 디지털 12번 핀을 4번 핀과 디지털 13번을 연결한다.

2. int _step = 0, boolean dir = true : _step 초기 값 0과 dir의 논리 값 true를 설정

실습 소스(1)

(15)

실습

1. 스텝 모터 제어(3)

3. case 0문에서는 3번 핀에 HIGH이고, case 1문에서는 2번, 3번 핀에 HIGH로, 한번은 1개 축이 한번은 2개의 축에 전원이 입력되어 모터를 회전시킨다.

실습 소스(2)

(16)

실습

2. 서보 모터 제어(1)

1. 실습 준비물 : 아두이노 보드(1개), 브레드 보드(1개), 서보 모터(1개) 2. 0~180도 각도로 좌회전, 우회전하면서 모터를 회전시킨다.

실습 준비물

(17)

실습

2. 서보 모터 제어(2)

1. 서보 모터 회로도는 5v의 전원과, GND, 디지털 9번 핀과 연결한다.

2. #include <Servo.h> : 서보 모터 헤드 추가

3. for (pos = 0; pos <= 180; pos += 1) : for문을 사용하여 0~180까지 1씩 증가 4. myservo.write(pos) : 0~180도까지 1씩 증가

실습 소스(1)

(18)

실습

2. 서보 모터 제어(3)

5. for (pos = 180; pos <= 0; pos -= 1) : for문을 사용하여 0~180까지 1씩 감소 6. myservo.write(pos) : 180~0도까지 1씩 감소

실습 소스(2)

(19)

실습점검

1. 실습에 필요한 보드와 준비물이 준비가 되었나요?

2. 스템 모터 제어 회로도와 실습 소스를 점검했나요?

3. 서보 모터 제어 회로도와 실습 소스를 점검했나요?

아니오 아니오 아니오 실습 재미있게 해보셨나요?

‘스탭 모터와 서보 모터’ 에 대해 실습한 내용과

자신의 실습 결과물을 비교해 보세요.

(20)

실습점검

1. 스텝 모터 제어

- 회로도 구성이 잘 되었는지 확인

- case별 모터가 정상적으로 회전을 하는지 확인 - case별 어떠한 결과가 이루어지는지 확인

2. 서보 모터 제어

- 회로도 구성이 잘 되었는지 확인

- 모터의 회전이 0~180도와 180~0로 회전 하고 있는지 확인

교수자 실습 Tip

(21)

다음시간에는…

에 대해 학습해 보겠습니다.

참고문헌

• 팅커캐드. http://www.tinkercad.com

• ㈜메카솔루션. http://mechasolution.com

8주차. 점검하기

1주차에서 7주차 점검하기

참조

관련 문서

2.. 주관적 구성요건으로 고의 이외에 ‘비방의 목적’이라는 초과주관적 구성요건요소를 요한 다. 따라서 비방의 목적이 없는 명예훼손행위는 제307조에 의해 처벌된다.

 기능교두와 변연융선과의 교합으로 하나의 교두가 두 개의 변연융선에 걸쳐서 접촉되기 때문에 1치아 대 2치아의 교합관계를 배현하는 방법...

④ 한쌍의 정준나사를 서로 반대방향으로 같은 양만큼 돌리면 반수준기의 기포는 좌 무지(left thumb)의 방향과 같은 방향으로 움직이므로 반수준기의 수포가 중앙에

2계 상수계수 선형 제차 상미분방정식(Second order.. homogeneous ordinary D.E.

빅데이터 관련 시장이 성장기에 있고, 이를 활용한 다양한 분석 기술, 장비 및 신규 비즈니스 모델이 개발되는 과정에 있으므로 사업유형을 명확히 구분하기 어렵고, 기존

대법원 1994. 선고 94도1291 판결: 피고인들이 자신들과 함께 술을 마시고 만취되어 의식이 없는 피해자를 부축하여 학교선배의 자취집에 함께 가서 촛불을 가져 오라고

주차 브레이크 (parking brake) 마스터 실린더 (master cylinder) 브레이크 페달 배력 장치.. (booster) 주차

z 프로그램 + 프로그램의 개발, 운용, 보수에 필요한 정보 일체(소프트웨어 생산 결과물 일체).