robotic pet with 3 emotions
TRANSCRIPT
- 세 가지 감정을 가지는 간단한 로봇 펫 -
10 조201024434 김현준201224540 조용래
01 소개
02 입출력 장치들
03 입출력 모델 명세
04 애플리케이션 ( 태스크 ) 구조
05 uC/OS-III 의 feature 활용 사례
소개
차분함
활발함
화남
소개 - 사용된 입출력 장치들
초음파 센서
온도 센서
스위치
Cortex-M3보드
GPIO
GPIO
LED
DC 모터
유아트 입력
유아트 출력
소개 - 사용된 입출력 장치들 – Pin 할당핀 용도
PE0 LED- 빨강
PE1 LED- 노랑
PB9 LED- 초록
PE5 스위치 - 빨강
PE6 스위치–노랑
PE7 스위치 - 초록
PE3 초음파 -TriggerPE4 초음파 -EchoPE8 왼쪽 모터 -APE9 왼쪽 모터 -BPE10 오른쪽 모터 -APE11 오른쪽 모터 -BPC1 온도 입력
PA9 유아트 1 출력
PA10 유아트 1 입력
입출력 모델 명세1. 빨강색 스위치를 누르면 펫의 상태가 화남으로 변함 .2. 노랑색 스위치를 누르면 펫의 상태가 활발함으로 변함 .3. 초록색 스위치를 누르면 펫의 상태가 평온함으로 변함 .4. 차분함 상태에서 , 10 초가 지나면 활발함 상태로 변함 .5. 활발함 상태에서 , 측정되는 거리가 짧고 (IMMEDIATE), 온도가
증가하는 상태 (TEMP_INC) 라면 화남 상태로 변함 .6. 화남 상태에서 다른 상태로의 전환은 스위치 누르는 수 밖에 없
음 .7. 화남 상태에서 LED 의 점등 패턴이 거리에 따라 (IMMEDIATE,
NEAR, MODERATE, (FAR, VERY_FAR)) 4 가지 패턴으로 나뉨 .8. 활발함과 평온함 상태에서 LED 점등 패턴은 거리에 따라 3 가지
패턴으로 나뉨 .9. 화남 상태에서 펫의 이동 경로는 repetive_step_spin, zigzag
이다10.활발함 상태에서 펫의 이동 경로는 rectangular, hexagon,
star 이다11.차분함 상태에서 펫의 이동 경로는 clkwise_whole_spin,
cclkwise_whole_spin, back_and_forth 이다 .
TemTempp
Distance
LEDLEDMotoMoto
rr
AndAndOrOr
TimeTimerr
SwitchISR
CalmCalm
LivelLivelyy
ContrControlol
AngrAngryy
uC/OS III 의 feature 활용 사례- ISR 에서 Deferred Post 방식을 통한 펫의 상태 전환
버튼 ISRIntQPost ISR
Handler Task
OSSemPostControl Task
status
변경
Angry Lively Calm
OSTaskSemPost
uC/OS III 의 feature 활용 사례- ISR 에서 Deferred Post 방식을 통한 펫의 상태 전환
uC/OS III 의 feature 활용 사례- 세마포를 이용한 공유 자원 접근
status
time
led blink
temp
distance
uC/OS III 의 feature 활용 사례- 태스크 세마포를 통한 태스크의 동기화
uC/OS III 의 feature 활용 사례- 상태 태스크와 모터 출력 태스크간의 동기화 문제
Motor comman
d
Angry
Motor
Flow Control 문제 발생
명령을 보내는 속도
명령을 처리하는 속도
VS
uC/OS III 의 feature 활용 사례- 상태 태스크와 모터 출력 태스크간의 동기화 문제
uC/OS III 의 feature 활용 사례- 센서 값의 범위에 따른 이벤트 플래그 설정
이벤트 조건
Event1 온도 증가
Event2 온도 일정
Event3 온도 감소
Event4 거리 증가
Event5 거리 일정
Event6 거리 감소
temp
distance
and
control
status
Temp task
And flag 처리 태스크
uC/OS III 의 feature 활용 사례- rs232 를 제어하는 태스크에서의 Pending On Multiple
Objects