emb ppt v6

39
김김김 김김김 김김김 김김김

Upload: -

Post on 26-May-2015

220 views

Category:

Education


3 download

DESCRIPTION

This PPT file is for our

TRANSCRIPT

Page 1: Emb ppt v6

김예슬 김영빈 김종성 김종현

Page 2: Emb ppt v6

INDEX

서론 프로젝트 개요 및 전반적인 사항에 대해서 다룰 것입니다 .

본론 전체적인 프로젝트 시나리오와 함께 구현 결과에 대한 시연을 할 것입니다 .

결론 모듈화된 코드 얘기

Page 3: Emb ppt v6

서론

프로젝트 개요 및 전반적인 사항

프로젝트 개요 SM5 에서 사용된 디바이스 Arduino 에서 사용된 디바이스 전체 흐름도 패킷 구성도 및 핀 번호 수정사항

Page 4: Emb ppt v6

개요

들고쏘고

자르고 .

Page 5: Emb ppt v6

사용자가 해야 하는 활동 표시 .Guide 역할 .

SM5 에서 사용된 디바이스

Text LCD

7-SegmentDisplay

숫자 입력 표시 .

Dip Switch알람 요일 설정 .

Dot Matrix전광판의 흐르는

문자 효과 및 온도 출력 .

Keypad 사용자의 input 값 인지 .

알람 소리 출력 .Piezo

LED왕복 미션 카운터 표시 .

Page 6: Emb ppt v6

사용자가 해야 하는 활동 표시 .Guide 역할 .

Arduino 에서 사용된 디바이스

Temperature Sensor

Sound Sensor

숫자 입력 표시 .

SwitchSM5- 아두이노

왕복 미션을 위한 인식 .

LED왕복 미션에서 다음 터치해야 할 버튼 표시 .

Relay 커피포트에 전원 공급 .

Open Detector 문이나 창문이 열렸는지 감지 .

LightSensor

방의 밝기를 확인 .

Page 7: Emb ppt v6

패킷 구성도 - 제어

0 1 2 3 4 5 6 7 8

Start ID Data Check Sum

0x76 0x00 0x10 0x00 Motor Direc-tion

Motor Speed

ElecSW &

Buzzer

LED Check Sum

0 1 2 3 4 5 6

Start ID Data Check Sum

0x76 0x00 0x10 0x00 ElecSW &

Buzzer

LED Check Sum

7 bits 로축소

Page 8: Emb ppt v6

0 1 2 3 4 5 6 7 8

Start ID Data Check Sum

0x76 0x00 0x20 0x00 Sensor 0 0 0 Check Sum

비트 7 6 5 4 3 2 1 0

명칭 0 0 Temp Switch Open Detect Motion Detect Light Sound

0 1 2 3 4 5 6

Start ID Data Check Sum

0x76 0x00 0x20 0x00 Sensor 0 Check Sum

비트 7 6 5 4 3 2 1 0

명칭 0 0 Temp Switch

Open Detect- Door

Open Detect Window

Light Sound

패킷 구성도 - 센서

7 bits 로축소

Page 9: Emb ppt v6

0 1 2 3 4 5 6 7 8 9 10 11 12

Start ID Data Check Sum

0x76 0x00 0x21 0x00 Sound Sound Light Light Motion Detect

Open Detect

Switch Temp Check Sum

0 1 2 3 4 5 6 7 8 9 10 11 12

Start ID Data Check Sum

0x76 0x00 0x21 0x00 Sound Sound Light Light OpenDetect- Door

Open DetectWindow

Switch Temp Check Sum

패킷 구성도 – 송신 패킷

Page 10: Emb ppt v6

핀 번호 변경사항

기존 핀 번호

Buzzer 40

ElectronicSwitch

38

OpenDetector

3

Light A1

Temp A2

Sound A0

현재 핀 번호

Buzzer 41

ElectronicSwitch

38

OpenDetector

0, 15

Light 3

Temp A2

Sound 6

Page 11: Emb ppt v6

시나리오와 시연 .

시간설정 및 요일 설정 알람 울림 창문 열고 불 켜기 Mission1: 흐르는 숫자 맞추기 Mission2: 소리 지르기 Mission3: 왕복하면서 버튼 누르기 다시 자는지 확인 온도 출력 , 릴레이를 이용한 마무리

Page 12: Emb ppt v6

1. 시간설정 및 요일설정

Set Morning Call

Hour

“Set Morning Call” 문구 출력 .

Text LCD7-Segment

Display

설정 시간 표시 . AM/PM, 시간 , 분 순으로 표시 .

MinAM/PM

Page 13: Emb ppt v6

1. 시간설정 및 요일설정

월 수 금 일

화 목 토ChangeAM/PM

Hour +1

Min+1

Min+10

ChangeAM/PM

Hour-1

Min-1

Min-10

Init.Seg.

Set

Keypad

버튼을 이용하여 시간 변경 . Set 버튼 클릭 시 세그먼트를 깜빡이고 버튼 Lock.

On 된 Switch 에 따라서 알람 활성 요일 설정 .

Dip Switch

Page 14: Emb ppt v6

2. 알람 울림

Piezo

알람음 , “ 학교종이 땡땡땡” 이 울려 퍼짐 .

Page 15: Emb ppt v6

3. 창문 열고 불 켜기

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

Open the windowBright your room

Open the windowBright your room문구 출력 .

Text LCD

ADK 로 패킷 전송

Activate Open Detector, Light Sensor

Page 16: Emb ppt v6

3. 창문 열고 불 켜기

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

창문이 열리는지에 대한 데이터 전송 .

Open Detector(for window)

ADK 로 패킷 전송

Activate Open Detector, Light Sensor

Light Sensor방 안의 조도를 체크하여 데이터 전송 .

패킷을 받아 센서들 활성화 .Processor

Target 으로 패킷 전송

Data of Open Detector, Light Sensor

Page 17: Emb ppt v6

3. 창문 열고 불 켜기

송신 패킷을 통해 방의 불이 켜졌는지 , 창문이 열렸는지 확인 .

Processor

Target 으로 패킷 전송

Data of Open Detector, Light Sensor

조건을 만족하면 다음 step.

시간초과 시 2. 알람 울림으로 돌아감

Page 18: Emb ppt v6

4. Mission1: 흐르는 숫자 맞추기

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

Mission1Press numbers

Mission1Press numbers문구 출력 .

Text LCD

임의의 숫자 데이터 6자리를 우 -> 좌로 흐르게 하여 디스플레이 .

Open Detector(for window)

152377

Page 19: Emb ppt v6

4. Mission1: 흐르는 숫자 맞추기

키패드를 통해 입력하는 숫자 디스플레이 .

7-SegmentDisplay

임의의 숫자 데이터 6자리를 우 -> 좌로 흐르게 하여 디스플레이 .

Keypad

1 2 3 4

5 6 7 8

9 0

Backspace

Set

숫자 입력시

Back space

Page 20: Emb ppt v6

5. Mission2: 소리 지르기

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

Mission2Make some noise

Mission2Make some noise문구 출력 .

Text LCD

ADK 로 패킷 전송

Activate Sound Sensor

Page 21: Emb ppt v6

5. Mission2: 소리 지르기

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

주변 소리 크기에 대한 데이터 전송 .

Sound Sensor

ADK 로 패킷 전송

Activate Sound Sensor

패킷을 받아 센서 활성화 .Processor

Target 으로 패킷 전송

Data of Sound Sensor

Page 22: Emb ppt v6

5. Mission2: 소리 지르기

일정 수준 이상의 소리가 들렸는지 확인 .

Processor

Target 으로 패킷 전송

Data of Sound Sensor

조건을 만족하면 다음 step.

시간초과 시 2. 알람 울림으로 돌아감

Page 23: Emb ppt v6

6. Mission3: 왕복하면서 버튼 누르기

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

Mission3Press buttons

Mission3Press buttons문구 출력 .

Text LCD

ADK 로 패킷 전송

Activate Button, LED

Page 24: Emb ppt v6

6. Mission3: 왕복하면서 버튼 누르기

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

주변 소리 크기에 대한 데이터 전송 .

Button

ADK 로 패킷 전송

Activate Button, LED

패킷을 받아 버튼 , LED 활성화 .Processor

Target 으로 패킷 전송

Data of Button

LED다음 눌러야 할 버튼 위치의 LED 표시 .

Page 25: Emb ppt v6

6. Mission3: 왕복하면서 버튼 누르기

송신 패킷을 통해 정해진 위치의 버튼들이 눌렸는지 확인 .

Processor

ADK 로 패킷 전송

Activate Button, LED

Target 으로 패킷 전송

Data of Button

조건을 만족하면 다음 step.

시간초과 시 2. 알람 울림으로 돌아감

Page 26: Emb ppt v6

7. 다시 자는지 확인 .

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

checking light..checking door..

checking light..checking door..문구 출력 .

Text LCD

ADK 로 패킷 전송

Activate Open Detector, Light Sensor

Page 27: Emb ppt v6

7. 다시 자는지 확인 .

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

문이 열렸는지에 대한 데이터 전송 .

Open Detector(for Door)

ADK 로 패킷 전송 패킷을 받아 센서들 활성화 .Processor

Target 으로 패킷 전송

Data of Open Detector, Light Sensor

Light Sensor 불이 꺼졌는지 확인 .

Activate Open Detector, Light Sensor

Page 28: Emb ppt v6

7. 다시 자는지 확인 .

송신 패킷을 통해 불이 켜져 있는지 확인 . 방문이 열리면 무조건 만족 .

Processor

Target 으로 패킷 전송조건을 만족하면 다음 step.

시간초과 시 2. 알람 울림으로 돌아감

Data of Open Detector, Light Sensor

Page 29: Emb ppt v6

8. 온도 출력 , 릴레이를 이용한 마무리

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

Good Morning!

Good Morning!문구 출력 .

Text LCD

ADK 로 패킷 전송

Activate Temperature Sensor

Page 30: Emb ppt v6

8. 온도 출력 , 릴레이를 이용한 마무리

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

실외 온도 데이터 전송 .Temperature

Sensor

ADK 로 패킷 전송 패킷을 받아 센서들 활성화 .Processor

Target 으로 패킷 전송

Data of Temperature Sensor

Activate Open Detector, Light Sensor

Page 31: Emb ppt v6

8. 온도 출력 , 릴레이를 이용한 마무리

송신 패킷의 온도 데이터가 올바른 데이터인지 판단 , Dot Matrix 로 출력 .

Processor

Target 으로 패킷 전송온도 출력 후 다음 step.

Data of Temperature Sensor

Dot Matrix

온도 데이터 출력 .2 2

Page 32: Emb ppt v6

8. 온도 출력 , 릴레이를 이용한 마무리

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

Good Morning!

Good Morning!문구 출력 중 .

Text LCD

ADK 로 패킷 전송

Activate Relay

Page 33: Emb ppt v6

8. 온도 출력 , 릴레이를 이용한 마무리

창문을 열고 조도 값이 일정 수준 이상이어야 함 .

TextLCD 에 미션 표시

SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .

SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .

만족하면 다음 미션으로 넘어감 .

TIMEOUT 을 통해 처음으로 돌아감 .

커피포트 전원 공급 .Relay

ADK 로 패킷 전송 패킷을 받아 센서들 활성화 .Processor

Activate Relay

Page 34: Emb ppt v6

8. 알람 종료 .

내일 또 봅시다 .

Page 35: Emb ppt v6

결론

코드 재 사용성 개발 편의를 위해 제작된 툴 개발 환경 및 동작 환경 어려웠던 점 발전 방향 QnA

Page 36: Emb ppt v6

코드 재 사용성

각 디바이스를 제어하는 함수들을 모듈화하여 코드의 재 사용성을 높임과 동시에 개발 효율성 극대화 . Static 수정자 (Modifier), Getter/Setter 등을 이용한 모듈화 .

Display Buffer 를 활용하여 Thread 환경에서도 무리 없이 동작 가능 .

Page 37: Emb ppt v6

개발 편의를 위해 제작된 툴

Dot Matrix 와 7-segment 에 대한 데이터를 보다 편하게 생성할 수 있도록 직접 툴을 제작하여 구현의 효율성을 높임 .

Page 38: Emb ppt v6
Page 39: Emb ppt v6

Q&A