embedded final

38
일어날람(일어나 알람) 김예슬 김영빈 김종성 김종현

Upload: -

Post on 18-Jul-2015

190 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Embedded final

일어날람(일어나 알람)

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

Page 2: Embedded final

INDEX

서론

프로젝트의 개요

사용 I/O

본론

시나리오와 시연

결론

코드 재사용과 개발툴

Q & A

Page 3: Embedded final

서론

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

프로젝트 개요

SM5에서 사용된 디바이스

Arduino에서 사용된 디바이스

전체 흐름도

패킷 구성도 및 핀 번호 수정사항

Page 4: Embedded final

개요

들고쏘고

자르고.

Page 5: Embedded final

사용자가 해야

하는 활동 표시.

Guide 역할.

SM5에서 사용된 디바이스

Text LCD

7-Segment

Display숫자 입력 표시.

Dip Switch알람 요일 설정.

Dot Matrix전광판의 흐르는

문자 효과 및

온도 출력.

Keypad사용자의 input

값 인지.

알람 소리 출력.Piezo

LED왕복 미션

카운터 표시.

Page 6: Embedded final

프로그램 종료

시 사용자에게

온도 제공

Arduino에서 사용된 디바이스

Temperature

Sensor

Sound

Sensor

소리를 통해

미션 수행

SwitchSM5-아두이노

왕복 미션을 위

한 인식.

LED왕복 미션에서

다음 터치해야

할 버튼 표시.

Relay커피포트에

전원 공급.

Open

Detector문이나 창문이

열렸는지 감지.

Light

Sensor방의 밝기를

확인.

Page 7: Embedded final

패킷 구성도 - 제어

0 1 2 3 4 5 6 7 8

Start ID Data Check Sum

0x76 0x00 0x10 0x00 Motor

Directio

n

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 Bytes 로

축소

Page 8: Embedded final

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 DetectWindow

Light Sound

패킷 구성도 - 센서

7 Bytes로

축소

Page 9: Embedded final

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 Open

Detect

- Door

Open

DetectWindow

Switch Temp Check Sum

패킷 구성도 – 송신 패킷

Page 10: Embedded final

핀 번호 변경사항

기존 핀 번호

Buzzer 40

Electronic

Switch

38

Open

Detector

3

Light A1

Temp A2

Sound A0

현재 핀 번호

Buzzer 41

Electronic

Switch

38

Open

Detector

0, 15

Light 3

Temp A2

Sound 6

Page 11: Embedded final

시나리오와 시연.

시간설정 및 요일 설정

알람 울림

창문 열고 불 켜기

Mission1: 흐르는 숫자 맞추기

Mission2: 소리 지르기

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

다시 자는지 확인

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

Page 12: Embedded final

1. 시간설정 및 요일설정

Set Morning Call

Hour

“Set Morning Call”

문구 출력.

Text LCD7-Segment

Display

설정 시간 표시.

AM/PM, 시간, 분

순으로 표시.

MinAM/

PM

Page 13: Embedded final

1. 시간설정 및 요일설정

월 수 금 일

화 목 토Change

AM/PMHour+1

Min+1

Min+10

Change

AM/PMHour

-1Min-1

Min-10

Init.Seg.

Set

Keypad

버튼을 이용하여 시간

변경. Set 버튼 클릭

시 세그먼트를 깜빡이

고 버튼 Lock.

On 된 Switch 에 따라

서 알람 활성 요일 설

정.

Dip Switch

Page 14: Embedded final

2. 알람 울림

Piezo

알람음

“학교종이 땡땡땡”

Page 15: Embedded final

3. 창문 열고 불 켜기

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

Open the window

Bright your room

Open the window

Bright your room문구 출력.

Text LCD

ADK로 패킷 전송

Activate

Open Detector, Light Sensor

Page 16: Embedded final

3. 창문 열고 불 켜기

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

창문이 열리는지에 대

한 데이터 전송.Open Detector

(for window)

ADK로 패킷 전송

Activate

Open Detector, Light Sensor

Light Sensor방 안의 조도를 체크하

여 데이터 전송.

패킷을 받아 센서들

활성화.Processor

Target 으로 패킷 전송

Data of

Open Detector, Light Sensor

Page 17: Embedded final

3.창문 열고 불 켜기

송신 패킷을 통해 방의

불이 켜졌는지, 창문이

열렸는지 확인.

Processor

Target 으로 패킷 전송

Data of

Open Detector, Light Sensor

조건을

만족하면

다음 step.

시간초과 시

2. 알람 울림

으로 돌아감

Page 18: Embedded final

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

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

Mission1

Press numbers

Mission1

Press numbers문구 출력.

Text LCD

임의의 숫자 데이터 6

자리를 우->좌로 흐르

게 하여 디스플레이.

Open Detector

(for window)

152377

Page 19: Embedded final

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

키패드를 통해 입력하

는 숫자 디스플레이.

7-Segment

Display

임의의 숫자 데이터 6

자리를 우->좌로 흐르

게 하여 디스플레이.

Keypad

1 2 3 4

5 6 7 8

9 0

Backspace

Set

숫자

입력시

Back

space

Page 20: Embedded final

5. Mission2: 소리 지르기

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

Mission2

Make some noise

Mission2

Make some noise문구 출력.

Text LCD

ADK로 패킷 전송

Activate

Sound Sensor

Page 21: Embedded final

5. Mission2: 소리 지르기

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

주변 소리 크기에 대한

데이터 전송.Sound Sensor

ADK로 패킷 전송

Activate

Sound Sensor

패킷을 받아 센서

활성화.Processor

Target 으로 패킷 전송

Data of

Sound Sensor

Page 22: Embedded final

5. Mission2: 소리 지르기

일정 수준 이상의 소

리가 들렸는지

확인.

Processor

Target 으로 패킷 전송

Data of

Sound Sensor

조건을

만족하면

다음 step.

시간초과 시

2. 알람 울림

으로 돌아감

Page 23: Embedded final

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

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

Mission3

Press buttons

Mission3

Press buttons문구 출력.

Text LCD

ADK로 패킷 전송

Activate

Button, LED

Page 24: Embedded final

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

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

Button 클릭한

위치전송Button

ADK로 패킷 전송

Activate

Button, LED

패킷을 받아

버튼, LED 활성화.Processor

Target 으로 패킷 전송

Data of

Button

LED다음 눌러야 할 버튼

위치의 LED 표시.

Page 25: Embedded final

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

송신 패킷을 통해 정해

진 위치의 버튼들이 눌

렸는지 확인.

Processor

ADK로 패킷 전송

Activate

Button, LED

Target 으로 패킷 전송

Data of

Button

조건을

만족하면

다음 step.

시간초과 시

2. 알람 울림

으로 돌아감

Page 26: Embedded final

7. 다시 자는지 확인.

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

checking light..

checking door..

checking light..

checking door..문구 출력.

Text LCD

ADK로 패킷 전송

Activate

Open Detector, Light Sensor

Page 27: Embedded final

7. 다시 자는지 확인.

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

문이 열렸는지에 대한

데이터 전송.Open Detector

(for Door)

ADK로 패킷 전송 패킷을 받아

센서들 활성화.Processor

Target 으로 패킷 전송

Data of

Open Detector, Light Sensor

Light Sensor 불이 꺼졌는지 확인.

Activate

Open Detector, Light Sensor

Page 28: Embedded final

7. 다시 자는지 확인.

송신 패킷을 통해 불이

켜져 있는지 확인.

방문이 열리면 무조건

만족.

Processor

Target 으로 패킷 전송조건을

만족하면

다음 step.

시간초과 시

2. 알람 울림

으로 돌아감

Data of

Open Detector, Light Sensor

Page 29: Embedded final

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

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

Good Morning!

Good Morning!문구 출력.

Text LCD

ADK로 패킷 전송

Activate

Temperature Sensor

Page 30: Embedded final

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

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

실외 온도 데이터 전송.Temperature

Sensor

ADK로 패킷 전송 패킷을 받아

센서들 활성화.Processor

Target 으로 패킷 전송

Data of

Temperature Sensor

Activate

Open Detector, Light Sensor

Page 31: Embedded final

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

송신 패킷의 온도 데이

터가 올바른 데이터인

지 판단, Dot Matrix로

출력.

Processor

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

Data of

Temperature Sensor

Dot Matrix

온도 데이터 출력. 2 2

Page 32: Embedded final

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

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

Good Morning!

Good Morning!문구 출력 중.

Text LCD

ADK로 패킷 전송

Activate

Relay

Page 33: Embedded final

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

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

커피포트 전원 공급.Relay

ADK로 패킷 전송 패킷을 받아

센서들 활성화.Processor

Activate

Relay

Page 34: Embedded final

8. 알람 종료.

내일 또 봅시다.

Page 35: Embedded final

결론

코드 재 사용성

개발 편의를 위해 제작된 툴

개발 환경 및 동작 환경

어려웠던 점

발전 방향

QnA

Page 36: Embedded final

코드 재사용

각 디바이스를 제어하는 함수들을 모듈화하여 코드의 재 사용성을 높임과 동시에 개발 효율

성 극대화.

Static 수정자(Modifier), Getter/Setter 등을 이용한 모듈화.

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

Recv_proc(int , int *)

함수

Page 37: Embedded final

개발 편의를 위해 제작된 툴

Dot Matrix와 7-segment에 대한

데이터를 보다 편하게 생성할 수 있

도록 직접 툴을 제작하여 구현의 효

율성을 높임.

Page 38: Embedded final

Q&A