emb ppt v6
DESCRIPTION
This PPT file is for ourTRANSCRIPT
김예슬 김영빈 김종성 김종현
INDEX
서론 프로젝트 개요 및 전반적인 사항에 대해서 다룰 것입니다 .
본론 전체적인 프로젝트 시나리오와 함께 구현 결과에 대한 시연을 할 것입니다 .
결론 모듈화된 코드 얘기
서론
프로젝트 개요 및 전반적인 사항
프로젝트 개요 SM5 에서 사용된 디바이스 Arduino 에서 사용된 디바이스 전체 흐름도 패킷 구성도 및 핀 번호 수정사항
개요
들고쏘고
자르고 .
사용자가 해야 하는 활동 표시 .Guide 역할 .
SM5 에서 사용된 디바이스
Text LCD
7-SegmentDisplay
숫자 입력 표시 .
Dip Switch알람 요일 설정 .
Dot Matrix전광판의 흐르는
문자 효과 및 온도 출력 .
Keypad 사용자의 input 값 인지 .
알람 소리 출력 .Piezo
LED왕복 미션 카운터 표시 .
사용자가 해야 하는 활동 표시 .Guide 역할 .
Arduino 에서 사용된 디바이스
Temperature Sensor
Sound Sensor
숫자 입력 표시 .
SwitchSM5- 아두이노
왕복 미션을 위한 인식 .
LED왕복 미션에서 다음 터치해야 할 버튼 표시 .
Relay 커피포트에 전원 공급 .
Open Detector 문이나 창문이 열렸는지 감지 .
LightSensor
방의 밝기를 확인 .
패킷 구성도 - 제어
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 로축소
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 로축소
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
패킷 구성도 – 송신 패킷
핀 번호 변경사항
기존 핀 번호
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
시나리오와 시연 .
시간설정 및 요일 설정 알람 울림 창문 열고 불 켜기 Mission1: 흐르는 숫자 맞추기 Mission2: 소리 지르기 Mission3: 왕복하면서 버튼 누르기 다시 자는지 확인 온도 출력 , 릴레이를 이용한 마무리
1. 시간설정 및 요일설정
Set Morning Call
Hour
“Set Morning Call” 문구 출력 .
Text LCD7-Segment
Display
설정 시간 표시 . AM/PM, 시간 , 분 순으로 표시 .
MinAM/PM
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
2. 알람 울림
Piezo
알람음 , “ 학교종이 땡땡땡” 이 울려 퍼짐 .
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
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
3. 창문 열고 불 켜기
송신 패킷을 통해 방의 불이 켜졌는지 , 창문이 열렸는지 확인 .
Processor
Target 으로 패킷 전송
Data of Open Detector, Light Sensor
조건을 만족하면 다음 step.
시간초과 시 2. 알람 울림으로 돌아감
4. Mission1: 흐르는 숫자 맞추기
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
Mission1Press numbers
Mission1Press numbers문구 출력 .
Text LCD
임의의 숫자 데이터 6자리를 우 -> 좌로 흐르게 하여 디스플레이 .
Open Detector(for window)
152377
4. Mission1: 흐르는 숫자 맞추기
키패드를 통해 입력하는 숫자 디스플레이 .
7-SegmentDisplay
임의의 숫자 데이터 6자리를 우 -> 좌로 흐르게 하여 디스플레이 .
Keypad
1 2 3 4
5 6 7 8
9 0
Backspace
Set
숫자 입력시
Back space
5. Mission2: 소리 지르기
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
Mission2Make some noise
Mission2Make some noise문구 출력 .
Text LCD
ADK 로 패킷 전송
Activate Sound Sensor
5. Mission2: 소리 지르기
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
주변 소리 크기에 대한 데이터 전송 .
Sound Sensor
ADK 로 패킷 전송
Activate Sound Sensor
패킷을 받아 센서 활성화 .Processor
Target 으로 패킷 전송
Data of Sound Sensor
5. Mission2: 소리 지르기
일정 수준 이상의 소리가 들렸는지 확인 .
Processor
Target 으로 패킷 전송
Data of Sound Sensor
조건을 만족하면 다음 step.
시간초과 시 2. 알람 울림으로 돌아감
6. Mission3: 왕복하면서 버튼 누르기
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
Mission3Press buttons
Mission3Press buttons문구 출력 .
Text LCD
ADK 로 패킷 전송
Activate Button, LED
6. Mission3: 왕복하면서 버튼 누르기
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
주변 소리 크기에 대한 데이터 전송 .
Button
ADK 로 패킷 전송
Activate Button, LED
패킷을 받아 버튼 , LED 활성화 .Processor
Target 으로 패킷 전송
Data of Button
LED다음 눌러야 할 버튼 위치의 LED 표시 .
6. Mission3: 왕복하면서 버튼 누르기
송신 패킷을 통해 정해진 위치의 버튼들이 눌렸는지 확인 .
Processor
ADK 로 패킷 전송
Activate Button, LED
Target 으로 패킷 전송
Data of Button
조건을 만족하면 다음 step.
시간초과 시 2. 알람 울림으로 돌아감
7. 다시 자는지 확인 .
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
checking light..checking door..
checking light..checking door..문구 출력 .
Text LCD
ADK 로 패킷 전송
Activate Open Detector, Light Sensor
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
7. 다시 자는지 확인 .
송신 패킷을 통해 불이 켜져 있는지 확인 . 방문이 열리면 무조건 만족 .
Processor
Target 으로 패킷 전송조건을 만족하면 다음 step.
시간초과 시 2. 알람 울림으로 돌아감
Data of Open Detector, Light Sensor
8. 온도 출력 , 릴레이를 이용한 마무리
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
Good Morning!
Good Morning!문구 출력 .
Text LCD
ADK 로 패킷 전송
Activate Temperature Sensor
8. 온도 출력 , 릴레이를 이용한 마무리
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
실외 온도 데이터 전송 .Temperature
Sensor
ADK 로 패킷 전송 패킷을 받아 센서들 활성화 .Processor
Target 으로 패킷 전송
Data of Temperature Sensor
Activate Open Detector, Light Sensor
8. 온도 출력 , 릴레이를 이용한 마무리
송신 패킷의 온도 데이터가 올바른 데이터인지 판단 , Dot Matrix 로 출력 .
Processor
Target 으로 패킷 전송온도 출력 후 다음 step.
Data of Temperature Sensor
Dot Matrix
온도 데이터 출력 .2 2
8. 온도 출력 , 릴레이를 이용한 마무리
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
Good Morning!
Good Morning!문구 출력 중 .
Text LCD
ADK 로 패킷 전송
Activate Relay
8. 온도 출력 , 릴레이를 이용한 마무리
창문을 열고 조도 값이 일정 수준 이상이어야 함 .
TextLCD 에 미션 표시
SM5 는 아두이노로 조도 센서 , open detector 활성화 패킷 전송 .
SM5 는 지속적으로 센서 값을 받으면서 조건 만족하는지 체크 .
만족하면 다음 미션으로 넘어감 .
TIMEOUT 을 통해 처음으로 돌아감 .
커피포트 전원 공급 .Relay
ADK 로 패킷 전송 패킷을 받아 센서들 활성화 .Processor
Activate Relay
8. 알람 종료 .
내일 또 봅시다 .
결론
코드 재 사용성 개발 편의를 위해 제작된 툴 개발 환경 및 동작 환경 어려웠던 점 발전 방향 QnA
코드 재 사용성
각 디바이스를 제어하는 함수들을 모듈화하여 코드의 재 사용성을 높임과 동시에 개발 효율성 극대화 . Static 수정자 (Modifier), Getter/Setter 등을 이용한 모듈화 .
Display Buffer 를 활용하여 Thread 환경에서도 무리 없이 동작 가능 .
개발 편의를 위해 제작된 툴
Dot Matrix 와 7-segment 에 대한 데이터를 보다 편하게 생성할 수 있도록 직접 툴을 제작하여 구현의 효율성을 높임 .
Q&A