• 검색 결과가 없습니다.

6강

N/A
N/A
Protected

Academic year: 2022

Share "6강"

Copied!
33
0
0

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

전체 글

(1)

1. 로봇이란? 8. 로봇은 주변을 어떻게 인식하지?

2. 그래픽 프로그래밍이란? 9. 로봇은 색을 어떻게 판단하지?

3. 로봇의 상태는 어떻게 알지? 10. 로봇은 회전 동작을 어떻게 감지하지?

4. 로봇은 어떻게 이동하지? 11. 로봇은 어떻게 원격에서 제어하지?

5. 로봇은 어떻게 계산하지? 12. 색이 다른 물체를 어떻게 분류하지?

6. 브릭의 제어는 어떻게 하지? 13. 로봇 프로그래밍 교육 사례 7. 로봇 프로그래밍 교육

(2)

6강 브릭의 제어는 어떻게 하지?

멀티태스킹 구현, 루프 블록 스위치 블록, 브릭 버튼 블록

EV3 소프트웨어 실습

1 2 3

차시 차시 차시

EV3 멀티태스킹, 루프, 스위치, 브릭 버튼 블록 따라하기

(3)

1차시

멀티태스킹 구현, 루프 블록

멀티태스킹 구현, 루프 블록

1차시

학습목표

학습목표 학습내용

1.멀티태스킹 구현 2.루프 블록 프로그래밍

§ EV3의 멀티태스킹 기능을 통해 EV3 브릭을 제어하는 방법을 이해 하고 응용 프로그래밍을 할 수 있다.

§ EV3의루프 블록을 이용하여 문장 반복의 구현 방법을 이해하고 응용 프로그래밍을 할 수 있다.

(4)

1 프로그램 블록

멀티태스킹 구현 따라하기 1

§ 프로그래밍 팔레트에서 프로그래밍 블록을 프로그래밍 캔버스에 드래그해서 프로그램을 만들 수 있음

§ 프로그래밍 블록들은 서로 가까우면 자동으로 스냅 결합됨

§ 프로그램을 실행하면, 프로그래밍 블록은 화면에 나타나는 순으로 왼쪽에서 오른쪽으로 실행

0 50 440 2 100 0

B + C B + C

Hz

2 프로그래밍 블록 편집

멀티태스킹 구현 따라하기 1

블록 유형: 블록 유형을 나타내는 아이콘

블록 이동 부분: 여기를 클릭하여

블록을 선택하거나 드래그 한다.

포트 선택

모드 선택: 여기를 클릭하여 모드 드롭다운을 열고 모드를 선택한다.

입력 파라미터 값: 입력을 선택하거나

여기에 입력을 할 수 있다.

시퀀스 연결 시작점

1 0 50

B + C

(5)

3 코드 청크(코드 블록으로 이루어진 덩어리)

멀티태스킹 구현 따라하기 1

§ 긴 프로그램의 경우, 코드 청크들 사이에 간격을 두면서

프로그램을 더 작은 덩어리로 프로그래밍 블록으로 나눈 것이 더 유용함

§ 프로그램을 나누면 프로그램을 이해하기 쉬워짐

B + C

50 50 1 440 1 100 0

B + C

50 50 1

440 1 100 0 Hz

4 병렬 시퀀스

멀티태스킹 구현 따라하기 1

§ 작업 모음을 하나 이상 동시에 실행할 수 있음

§ 프로그래밍 블록의 한 시퀀스는 로봇의 전진 동작을 제어하고,

프로그래밍의 두 번째 시퀀스는 로봇 맨 위에 있는 로봇 팔을 제어할 수 있음

B + C

75 75 1

A

75 1

(6)

4 병렬 시퀀스: 팁과 요령

멀티태스킹 구현 따라하기 1

§ 아래 프로그램의 예처럼 리소스 충돌에 조심해야 함

§ 프로그래밍 블록의 한 시퀀스는 로봇을 왼쪽으로 조정하려 하고, 또 다른 시퀀스는 이와 동시에 로봇을 오른쪽으로 조정하려고 함

§ 위와 같은 경우 EV3 브릭은작동하지 않음

B + C

50 -50 1

B + C

-50 50 1

1 루프 블록은?

루프 블록 따라하기 2

§ 루프 블록은 프로그래밍 블록 시퀀스를 수용할 수 있는 컨테이너임

§ 루프 안 블록 시퀀스를 반복하게 만듦

§ 영원히, 일정한 횟수만큼, 센서 데이터나 기타 조건이 참일 때까지 블록을 반복 시킴

§ 오직 루프 안 블록만 반복하게 됨

§ 루프가 끝난 후 프로그램은 루프 뒤에 있는 블록을 계속

01

Brick Buttons Color Sensor Gyro Sensor Infrared Sensor Motor Rotation Timer

Touch Sensor Ultrasonic Sensor Messaging Unlimited Count Logic

(7)

2 루프 모드 선택

루프 블록 따라하기 2

§ 모드 선택을 사용하여 루프가 얼마나 반복될지 제어함

§ 다양한 모드는 어떤 조건일 때 루프가 끝날지를 지정

§ 사용 가능한 입력은 모드에 따라 바뀜

모드 선택

입력

횟수 출력

루프 이름

01

1

3 루프 블록 모드: 무한

루프 블록 따라하기 2

§ 무한(Unlimited) 모드에서 루프 안 블록은 영원히 반복

§ 루프 뒤에 위치한 블록에는 절대 도달하지 않음

§ 아래 프로그램에서 로봇은 직선/회전 시퀀스를 번갈아 가며 계속 반복

§ 팁: EV3의뒤로 가기 버튼을 사용하면 프로그램 정지가 가능

01 01

B + C

0

B + C

50 3 100 50 1

(8)

3 루프 블록 모드: 무한

루프 블록 따라하기 2

§ 아래 프로그램은 터치 센서가 눌릴 때마다 EV3 디스플레이에

꼭 다문 입을 표시하고,

그러지 않으면 열린 입을 표시함

§ 루프에 의해 스위치 블록 안 센서 테스트는 계속 반복

01

1 1

0 0 X Y

0 0 X Y Mouth 2 shut

Mouth 2 open

4 루프 블록 모드: 횟수

루프 블록 따라하기 2

§ 횟수 모드에서횟수 입력은 루프 안 블록을 몇 번 반복시키는지 지정

§ 아래 프로그램은 로봇이 “Hello“는 1회, “Go”는 6회, “Bravo”는 1회 재생

§ 루프 블록은 사운드 블록 1개를 포함하며 여섯 번 반복하도록 구성됨

01

1 1

01

100 Hello

0 100

Go

0 6 100

Bravo

0

(9)

5 루프 블록 모드: 시간

루프 블록 따라하기 2

§ 시간 모드에서는 루프가반복되는 시간을 초 입력에 지정할 수 있음

§ 시간은 루프가 시작할 때부터 측정함

§ 제한 시간은 루프 시퀀스가 끝날 때만 테스트함

§ 루프 시퀀스는 항상 최소 한 번은 실행되며, 그때 경과 시간이 입력한 시간보다 작은 경우에만 루프가 처음으로 돌아가 계속 수행

01

5

6 루프 블록 모드: 논리

루프 블록 따라하기 2

§ 논리 모드에서는 루프 시퀀스가 끝날 때 다음 조건의입력이 참일 때까지 루프가 반복됨

§ 루프 시퀀스는 항상 최소 한 번은 실행되며,

루프 반복이 끝날 때마다 다음 조건까지 입력을 테스트함

§ 아래 프로그램에서 로봇은 터치 센서가 눌리고 컬러 센서가 검정색을 감지시 정지

01

01

B+C 1 3 B+C

0 50 [1;5]

a b =

(10)

B + C B + C Backing alert

100 2

0 30 2

100 2

0 -20 2

Motor idle

1 1

확인하기

차시

아래 프로그램은 병렬 시퀀스를 이용하여 멀티태스킹을 구현한 예이다. 프로그램의 동작을 실행 관점에서 설명해 보아라.

B + C B + C

Backing alert

100 2

0 30 2

100 2

0 -20 2

Motor idle

1 1

확인하기

차시

정답

아래 프로그램은 병렬 시퀀스를 이용하여 멀티태스킹을 구현한 예이다. 프로그램의 동작을 실행 관점에서 설명해 보아라.

1단계: ❶ 시퀀스와 ❷ 시퀀스동시에 실행 2단계: Ⓐ지점에서 ❸ 시퀀스가 실행 3단계: ❸ 시퀀스가 종료 후 프로그램 종료

(11)

정리하기

§ EV3는 병렬 시퀀스를 사용하여

멀티태스킹을 구현할 수 있다. 멀티태스킹이 구현된 프로그램은 작업 모음을 하나 이상 동시에 실행할 수 있다.

멀티태스킹 구현 시에는

리소스 충돌에 조심해야 한다.

멀티태스킹 구현

1

정리하기

§ 루프 블록은 프로그래밍 블록 시퀀스를

수용할 수 있는 컨테이너로 표현되며, 루프 안 블록 시퀀스를 반복하게 만든다.

루프 안을 영원히, 일정한 횟수만큼, 센서 데이터나 기타 조건이 참일 때까지 블록을 반복 시킬 수 있다.

루프 블록

2

(12)

참고자료

Lego® Mindstorms ® EV3 사용 설명서

스마트로봇 EV3, 남상엽ㆍ원영진ㆍ동성수ㆍ김동식(2017), 이지테크, pp166-185.

Lego® Mindstorms ® EV3 Home Edition

(13)

스위치 블록,

2차시

브릭 버튼 블록

로봇, 인간을 치유하다!

생각하는 로봇

출처 | https://youtu.be/UzMpvyx_57Y

Robots in Your Life

(14)

스위치 블록, 브릭 버튼 블록

2차시

학습목표

학습목표 학습내용

1.EV3 스위치 블록 프로그래밍

2.EV3 브릭 버튼 블록 프로그래밍

§ EV3의스위치 블록을 이해하고 EV3 브릭 제어의 응용 프로그래밍을 할 수 있다.

§ EV3 내장 버튼의 제어 방법을 이해하고 브릭 버튼 블록의 응용 프로그래밍을 할 수 있다.

1 스위치 블록이란?

EV3 스위치 블록 따라하기 1

§ 스위치 블록은 프로그래밍 블록 시퀀스를 둘 이상 수용할 수 있는 컨테이너

§ 각 시퀀스를 케이스라고 함

§ 스위치 블록 초반의 테스트는 어떤 케이스가 실행될지를 결정

§ 스위치 블록이 실행될 때마다 오직 한 케이스만이 실행

§ 스위치 블록 테스트는 센서 데이터 값 또는 데이터 와이어 값에 따라 어떤 케이스를 실행할지 결정할 수 있음

§ 케이스 하나가 선택되고 실행된 후 프로그램은 스위치 블록 뒤

(15)

1 스위치 블록이란?

EV3 스위치 블록 따라하기 1

§ 아래 프로그램은 터치 센서가 눌려 있으면 참(상단) 케이스가 실행되고, 터치 센서가 눌려 있지 않으면 거짓(하단) 케이스가 실행됨

1

0

참(TRUE) 케이스

거짓(FALSE) 케이스

Thumbs up Yes

Thumbs down No

0 100

0 0

0 0 100 0

100 0

100 0 1

Touch

1

Thank you

1 스위치 블록이란?

EV3 스위치 블록 따라하기 1

팁과 요령 a. 스위치 블록은 센서 데이터 값이나 데이터 와이어가 일정한 값에 도달하기를 기다리지 않음

b. 스위치 블록이 시작되자마자 테스트가 실행되며, 테스트 후 케이스 중 하나가 즉시 선택되어 실행 c. 특별한 케이스에서아무것도 하지 않기를 원한다면

스위치 블록에 있는 어떤 케이스 내를 비워두면 됨

Thumbs up

0 0 1

1

(16)

2 스위치 블록의 탭 뷰

EV3 스위치 블록 따라하기 1

§ 스위치 블록은 플랫 뷰에서는 모든 케이스가 표시되며 서로 행이 다르게 표현

§ 스위치 블록의 탭 뷰에서는 한 번에 오직 한 케이스만 보임

§ 탭 뷰를 사용하면 프로그램이 화면에 차지하는 공간을 줄일 수 있음

플랫/탭 선택

참 케이스

거짓 케이스

❷❸

Touch

100 0

1

1

Thumbs up

0 0

Yes

100 0

Thank you

100 0

3 센서 경계값 테스트

EV3 스위치 블록 따라하기 1

§ 스위치 블록은 숫자 센서 데이터 값을 읽고 경계값과 비교하여 참 또는 거짓 결과를 얻는 여러 가지 모드를 수용

§ 아래 프로그램은 컬러 센서-비교-반사광 강도 모드에서 컬러 센서의 반사광 강도 가 50보다 작은 지를 테스트함(참이면 상단, 거짓이면 하단 실행)

01

4 3 50

Low

High

0 0 2

(17)

4 복수 값 테스트

EV3 스위치 블록 따라하기 1

§ 스위치 블록의 센서 측정 모드에서는

테스트할 센서 값을 여러 개(둘 이상) 지정할 수 있음

§ 값마다 스위치 블록의 케이스를 다르게 부여할 수 있음

케이스 추가

케이스 값

기본 케이스

케이스 삭제

3

0 1 2 3 4 5 6 7

예로컬러센서-측정-색상모드에서는 검정, 흰색, 빨강이 있는지 테스트하고

색상 하나에 케이스 하나씩총 3가지 케이스를 생성할 수 있음

5 복수 값 테스트

EV3 스위치 블록 따라하기 1

§ 텍스트 모드에서는 스위치 블록은 값 하나에 케이스 하나씩 값을 비교하여

일치하는 케이스를 탐색

§ 입력과 일치하는 값을 가진 케이스를 실행

§ 일치하는 값이 없으면 기본 케이스를 실행

§ 텍스트 모드의 각 케이스는 해당 케이스 값에 직접 입력할 수 있는 텍스트 값을 가짐

“Stop”, “Go”, “Turn”

“Stop”

Msg

B + C

“Go”

B + C

0 50

“Turn”

B + C

100 50

(18)

1 브릭 버튼 블록은?

EV3 브릭 버튼 블록 따라하기 2

§ 브릭 버튼 블록은 브릭 버튼에서 데이터를 얻음

§ EV3 브릭 전면에 버튼 5개(왼쪽, 가운데, 오른쪽, 위, 아래)가 있음

§ 어떤 버튼이 눌려 있는지 알아내 숫자 출력을 얻을 수 있음

§ 버튼이 눌려 있는지, 눌려 있지 않은지 또는 접촉 후 떨어졌는지 하나 이상의 버튼 을 테스트하여 논리(참, 거짓) 출력을 얻을 수 있음

Measure

Compare Brick Buttons [2] 1

모드 선택

입력

출력

[2] 1

2 브릭 버튼 모드 : 눌림

EV3 브릭 버튼 블록 따라하기 2

§ 측정 모드는 현재 눌려 있는 버튼의 ID를 버튼 ID에 출력

§ 브릭 버튼 ID: 0=선택 안함, 1=왼쪽, 2=가운데, 3=오른쪽, 4=위, 5=아래

0 0 2 3

(19)

3 브릭 버튼 모드 : 비교

EV3 브릭 버튼 블록 따라하기 2

§ 비교 모드에서는 동작 입력에서 테스트할 버튼의 상태 (눌리지 않은, 눌림, 접촉 후 떨어짐)를 선택할 수 있음

§ 버튼 모음도 테스트하여 지정된 상태와 일치하는 버튼이 있는지 확인이 가능

§ 선택한 버튼 중에 지정된 동작과 일치하는 것이 하나라도 있으면 참이 출력

프로그램 동작 후 위 버튼이 눌려 있는 경우:

4 1

1

0 1 2

4 5 3

0 0 2 0 30 2 3

확인하기

2 2

차시

하나의 센서를 이용하여 라인 트레이싱이 되도록 프로그램을 작성하려고 한다. 스위치 블록을 사용하여 간략한 구현 방법을 설명하시오.

01

C B

B C

50

50 50

4 3

빛 센서 값이 문턱값보다 작으면 우회전

(B모터만 동작)

빛 센서 값이 문턱값보다 크면 좌회전 (C모터만 동작)

정답

(20)

정리하기

§ 스위치 블록 블록은 프로그래밍 블록 시퀀스를

둘 이상 수용할 수 있는 컨테이너를 가지며 각 시퀀스를 케이스라고 부른다.

스위치 블록 초반의 테스트는

어떤 케이스가 실행될지를 결정하며

스위치 블록이 실행될 때마다 오직 한 케이스만이 실행한다.

스위치 블록

1

정리하기

§ 브릭 버튼 블록은 브릭 버튼에서 데이터를 얻는 기능으로

EV3 브릭 전면에 버튼 5개(왼쪽, 가운데, 오른쪽, 위, 아래) 어떤 버튼이 눌려 있는지 알아내 숫자 출력을 얻을 수 있다.

또한 버튼이 눌려 있는지, 눌려 있지 않은지

또는 접촉 후 떨어졌는지 하나 이상의 버튼을 테스트하여 논리(참, 거짓) 출력을 얻을 수도 있다.

브릭 버튼 블록

2

(21)

참고자료

Lego® Mindstorms ® EV3 사용 설명서

스마트로봇 EV3, 남상엽ㆍ원영진ㆍ동성수ㆍ김동식(2017), 이지테크, pp186-207.

Lego® Mindstorms ® EV3 Home Edition

(22)

EV3 소프트웨어

3차시

실습

EV3 멀티태스킹, 루프, 스위치, 브릭 버튼 블록 따라하기 3차시

학습목표

학습목표 학습내용

1. EV3 멀티태스킹 구현 프로그래밍 2. EV3 루프 블록 프로그래밍

3. EV3 스위치 블록 프로그래밍 4. EV3 브릭 버튼 블록 프로그래밍

§ EV3 내에서 병렬 시퀀스를 사용하여 로봇의 멀티태스킹 프로그램을 구현 할 수 있다.

§ EV3 루프 블록, 스위치 블록, 브릭 버튼 블록을 사용하여

EV3 브릭의 내부 제어를 구현할 수 있다.

(23)

멀티태스킹 구현, 루프 블록 1

1 Mission 1 :

준비물: EV3 소프트웨어, EV3 P-브릭, 라지 모터

§ ‘LEGO MINDSTORMS EV3’을 실행한다.

§ 프로그래밍 팔레트-동작에서 라지 모터 블록을 드래그하여 캔버스에 놓는다.

§ 사운드 블록과 라지 모터 블록을 사용하여 프로그램을 작성한다.

§ 작성된 프로그램을 P-브릭에 다운로드하고 실행한다.

수행 순서

EV3에서 멀티태스킹은 2가지의 작업을 동시에 수행한다.

A 모터를 움직이면서 동시에 사운드를 낼 수 있도록 프로그램하라.

멀티태스킹 구현, 루프 블록 1

1 Mission 1 : 수행 결과

EV3에서 멀티태스킹은 2가지의 작업을 동시에 수행한다.

A 모터를 움직이면서 동시에 사운드를 낼 수 있도록 프로그램하라.

§ ①라지 모터 블록

②사운드 블록

D

Cat purr 50 5

100 0 5

(24)

멀티태스킹 구현, 루프 블록 1

2 Mission 2 :

멀티태스킹을 이용하여 두가지의 동작을 동시에 수행하는 아래 프로그램은 처음 계획한대로 동시에 동작하지 않는다.

원인을 분석하여 문제점을 해결하라.

B + C

Motor idle

0 50 2

100 2

멀티태스킹 구현, 루프 블록 1

2 Mission 2 :

준비물: EV3 소프트웨어, EV3 P-브릭, 라지 모터 2개

§ ‘LEGO MINDSTORMS EV3’을 실행한다.

§ 프로그래밍 팔레트-동작에서

조향 모드 주행 블록을 드래그하여 캔버스에 놓는다.

§ 조향 모드 주행 블록과 사운드 블록을 사용하여 프로그램을 작성한다.

수행 순서

멀티태스킹을 이용하여 두가지의 동작을 동시에 수행하는 아래 프로그램은 처음 계획한대로 동시에 동작하지 않는다.

원인을 분석하여 문제점을 해결하라.

B + C

Motor idle 0 50 2

100 2

(25)

멀티태스킹 구현, 루프 블록 1

2 Mission 2 : 수행 결과

멀티태스킹을 이용하여 두가지의 동작을 동시에 수행하는 아래 프로그램은 처음 계획한대로 동시에 동작하지 않는다.

원인을 분석하여 문제점을 해결하라.

§ ①조향 모드 주행 블록 ②사운드 블록

멀티태스킹 구현, 루프 블록 1

3 Mission 3 :

준비물: EV3 소프트웨어, EV3 P-브릭, 터치 센서 수행 순서

EV3 디스플레이에 터치 센서가 접촉 후 떨어진(눌렸다가 놓일 때까지)횟수를 표시한다. 루프 안 대기 블록은 터치 센서가 접촉 후 떨어질 때마다 반복에 앞서 루프를 대기하도록 만든다.

§ ‘LEGO MINDSTORMS EV3’을 실행한다.

§ 프로그래밍 팔레트-플로우 블록에서 루프 블록을 드래그하여 캔버스에 놓는다.

§ 터치 센서 블록과 루프 블록을 사용하여 프로그램을 작성한다.

§ 작성된 프로그램을 P-브릭에 다운로드하고 실행한다.

(26)

멀티태스킹 구현, 루프 블록 1

3 Mission 3 :

EV3 디스플레이에 터치 센서가 접촉 후 떨어진(눌렸다가 놓일 때까지)횟수를 표시한다. 루프 안 대기 블록은 터치 센서가 접촉 후 떨어질 때마다 반복에 앞서 루프를 대기하도록 만든다.

수행 결과

§ ①디스플레이 블록 ②대기 블록 ③루프 블록

01

0 2 2 2

터치 센서를 5번 누른 경우:

5

1

1 Mission 1 :

스위치 블록, 브릭 버튼 블록 2

숫자 모드의 스위치 블록은 변수 블록의 출력을 사용하여 3가지 케이스 중에 선택한다. 스위치 블록의 기본 케이스는 비어 있다.

“동작“ 변수의 값은 1, 2, 3을 사용하라.

준비물: EV3 소프트웨어, EV3 P-브릭, 라지 모터 2개, 미디엄 모터

§ ‘LEGO MINDSTORMS EV3’을 실행한다.

§ 프로그래밍 팔레트-플로우 블록에서 스위치 블록을 드래그하여 캔버스에 놓는다.

§ 조향 모드 주행 블록과 스위치 블록 등을 사용하여 프로그램을 작성한다.

수행 순서

(27)

1 Mission 1 :

스위치 블록, 브릭 버튼 블록 2

숫자 모드의 스위치 블록은 변수 블록의 출력을 사용하여 3가지 케이스 중에 선택한다. 스위치 블록의 기본 케이스는 비어 있다.

“동작“ 변수의 값을 1, 2, 3을 사용하라.

수행 결과

§ ①변수 블록(변수 값 설정)

§ ②기본 케이스(아무것도 하지않는 시퀀스)

§ Action 변수의 입력에 따라 1, 2, 3 케이스 중에 실행하고 1, 2, 3 이외 값이 입력되거나

입력이 없는 경우 기본 케이스인 0실행

1 B + C

0 90 2

2

3 100 0 Horn 2

0 50 90

A 1

Action Action

2 Mission 2 :

스위치 블록, 브릭 버튼 블록 2

다음과 같이 레고 블록의 색으로 로봇을 조종할 수 있도록 프로그램을 작성한다.

(색 없음 전진, 파랑 좌회전, 노랑 우회전, 빨강 정지)

준비물: EV3 소프트웨어, EV3 P-브릭, 라지 모터 2개, 컬러 센서

§ ‘LEGO MINDSTORMS EV3’을 실행한다.

§ 프로그래밍 팔레트-프로우 블록에서 컬러 센서 블록을 드래그하여 캔버스에 놓는다.

§ 스위치 블록과 탱크 모드 주행 블록을 사용하여 프로그램을 작성한다.

§ 작성된 프로그램을 P-브릭에 다운로드하고 실행한다.

수행 순서

(28)

§ 컬러 센서를 통해 현재의 값 측정

§ 색이 없거나 측정 값이 없는 경우 실행

§ 파랑색 좌회전

§ 노랑색 우회전

§ 빨강색 정지

2 Mission 2 :

스위치 블록, 브릭 버튼 블록 2

다음과 같이 레고 블록의 색으로 로봇을 조종할 수 있도록 프로그램을 작성한다.

(색 없음 전진, 파랑 좌회전, 노랑 우회전, 빨강 정지)

수행 결과

B + C

B + C

B + C

B + C 40 40

10 40

40 10

정지 우회전 좌회전

전진

3

2

스위치 블록, 브릭 버튼 블록 2

3 Mission 3:

준비물: EV3 소프트웨어, EV3 P-브릭, 라지 모터 2개

§ ‘LEGO MINDSTORMS EV3’을 실행한다.

§ 프로그래밍 팔레트-플로우 블록에서 스위치 블록을 드래그하여 캔버스에 놓는다.

§ 스위치 블록과 루프 블록을 사용하여 프로그램을 작성한다.

§ 작성된 프로그램을 P-브릭에 다운로드하고 실행한다.

수행 순서

브릭 버튼 위, 아래를 이용하여 EV3의 전, 후 제어를 구현하라.

단, 버튼이 눌리지 않았을 때에는 멈춰 있어야 한다.

(29)

스위치 블록, 브릭 버튼 블록 2

3 Mission 3:

수행 결과

브릭 버튼 위, 아래를 이용하여 EV3의 전, 후 제어를 구현하라.

단, 버튼이 눌리지 않았을 때에는 멈춰 있어야 한다.

§ 브릭 버튼의 “위” 버튼 누름 전진

§ 브릭버튼의 “아래” 버튼 누름 후진

§ “위”, “아래“ 이외 버튼이 눌리거나

§ 버튼이 눌리지 않은 경우 정지

B + C

50 50

B + C

B + C 01

-50 -50

3

도전과제

3

차시

두 개의 EV3를 데이지 체인으로 연결하여 컴퓨터와 첫 번째로 연결된 EV3 브릭 버튼으로 두 번째로 연결된 EV3의

전후좌우를 제어하는 프로그램을 작성하라.

(30)

3

도전과제

3

차시 정답

Brick Layer

1

2

0 4272 4280

39 7.2

2 3 4

0 0

0

1 3 4

-Project Properties/Daisy-Chain Mode ■ -하드웨어 페이지/Port View로 확인

3

차시

3

정답

도전과제

B + C

50 01

2

50

B + C

-50 2

-50

B + C

0 2

50

B + C

50 2

0

B + C 2

(31)

정리하기

§ EV3 P-브릭은 병렬 시퀀스 프로그램을 통해

멀티태스킹을 구현할 수 있고, 루프 블록을 사용하여 특정한 조건이 만족될때까지 블록을 반복 수행을 할 수 있다.

멀티태스킹 구현, 루프 블록

정리하기

§ 스위치 블록을 통해

특정 케이의 프로그램만 동작할 수 있으며, 브릭 버튼 블록을 사용하여

브릭 버튼에서 데이터를 쉽게 얻을 수 있다.

(32)

학습 마무리

학습하였습니다.

스위치 블록은 원하는 특정 시퀀스의 프로그램만 선택하여

이번 주차에서는

로봇의 내부 제어를 멀티태스킹 구현과

루프 블록을 사용하여 구현할 수 있음을

1

2 실행할 수 있고

브릭 버튼 블록을 사용하면 브릭 버튼의 눌림 상태를 쉽게 얻을 수 있음을 학습하였습니다.

확장하기

감성 로봇

YouTube

(33)

Lego®Mindstorms® EV3 사용 설명서

참고자료

스마트로봇 EV3, 남상엽ㆍ원영진ㆍ동성수ㆍ김동식(2017), 이지테크, pp166-207.

Lego®Mindstorms® EV3 Home Edition

참조

관련 문서

둘째 블록은 시스템의 기계적 부분으로써 전기자 전동기와 기계적 부하이다. 첫째 블록에서 둘째 블록으로 들어가는 전류는 계자전류

- Brush Affects In Tangent Handles - 앵커 포인트의 조절선 안쪽에 주름을 만든다. - Brush Affects Out Tangent Handles - 앵커 포인트의 조절선 바깥쪽에

빛을 받는 부분은 노란색, 다른 부분은 검은색으로

자사 직영 서비스센터나 블루핸즈에서 타이어 공기압 감지 센서가 장착된 타이어 휠로 교체하십시오.. 타이어 공기압 감지 센서가 장착된 타이어 휠로 교체 후

u 제백(Seebeck)효과 - 다른 두 물체를 접합시킨 다음 두 접점 사이에 온도차를 주면 전류가 흐른다... u 서로 다른 물체를 P형

위하여 연결설정(SYN) 요청 à 위조된 IP 주소로 부터 응답(ACK)을 받을 때까지 대기 q 위조된 대량의 연결설정(SYN) 요청 패킷이 수신되면 서버의 대기

하천의 융기와 침식의 반복에 의해 형성된 계단모양의 층상 지형...

원하는 형상의 회로 선을 얻기 위한 목적이나 배선(Interconnection)용 접촉(Contact)을 이루기 위한 구멍(Contact Hole)을 형성하기 위한 용도로 대상