- 보이스 로봇 (voice robot ) -

15
- 보보보 보보 (Voice Robot) -

Upload: arnold

Post on 06-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

- 보이스 로봇 (Voice Robot ) -. 사운드 센서. 사운드 센서는 데시벨 레벨 , 즉 , 소리의 크기 또는 강도를 감지한다 . 주변의 소리를 인식하여 소리의 크기를 0~100% 로 값을 변환한다. 사운드 센서 모드. 사운드센서는 2 가지 모드로 작동 dB(decibel) 모드 : 소리의 상대적인 크기를 나타내는 단위 Bell 단위가 너무 커서 10 분의 1( deci ) 로 줄인 단위로 사용 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: -  보이스 로봇 (Voice Robot ) -

- 보이스 로봇 (Voice Robot) -

Page 2: -  보이스 로봇 (Voice Robot ) -

사운드 센서

• 사운드 센서는 데시벨 레벨 , 즉 , 소리의 크기 또는 강도를 감지한다 .

• 주변의 소리를 인식하여 소리의 크기를 0~100% 로 값을 변환한다 .

2

Page 3: -  보이스 로봇 (Voice Robot ) -

사운드 센서 모드• 사운드센서는 2 가지 모드로 작동

– dB(decibel) 모드 : 소리의 상대적인 크기를 나타내는 단위• Bell 단위가 너무 커서 10 분의 1(deci) 로 줄인 단위로 사용• 저주파부터 고주파까지 모든 소리를 감지하며 소리의 상대적인 크기를

나타내는 단위 인간이 듣기에 너무 높거나 낮은 소리 포함

– dBA(acoustic decibell) 모드 : 사람이 감지할 수 있는 소리 크기에 맞춘 기준

Page 4: -  보이스 로봇 (Voice Robot ) -

사운드센서의 동작 ( 상태값 )

4

Page 5: -  보이스 로봇 (Voice Robot ) -

사운드센서의 동작 ( 상태값 ) - View

• 사운드센서 상태 값 확인1. NXT 와 사운드센서 2 번 포트로 연결2. NXT ‘view’ 메뉴 선택3. ‘sound dB’ 혹은 ‘ sound dBA’ 선택

4. 2 번 포트 선택5. LCD 수치 확인 : 입김을 불거나 소리크기를 변형하면서

Sound 크기를 확인

5

Page 6: -  보이스 로봇 (Voice Robot ) -

사운드 센서의 응용 1

• 큰 소리에만 작동하는 로봇– 사운드 센서에 입력되는 소리가 크면 (70 이상 ) 전진하고 ,

작으면 (70 이하 ) 정지하는 로봇을 만든다 . 터치센서를 누르면 로봇 행위는 종료한다 .

• ( 순서도 )

6

Page 7: -  보이스 로봇 (Voice Robot ) -

사운드 센서의 응용 1

7

사운드센서에 입력되는 소리가 70 이상인 동안 전진하고 , 70 보다 작아지면 정지

Page 8: -  보이스 로봇 (Voice Robot ) -

사운드 센서의 응용 2

• 입김으로 드리블 하는 로봇– 소리 크기에 따라 전진 , 우회전 , 좌회전 , 정지하는 로봇

• ( 순서도 )

Page 9: -  보이스 로봇 (Voice Robot ) -

사운드 센서의 응용 2

9

Page 10: -  보이스 로봇 (Voice Robot ) -

사운드 센서의 응용 3• 박수소리 회수에 따라 움직이는 로봇

Page 11: -  보이스 로봇 (Voice Robot ) -

사운드 센서의 응용 3

void Turn(int);

Page 12: -  보이스 로봇 (Voice Robot ) -

사운드 센서의 응용 3

Page 13: -  보이스 로봇 (Voice Robot ) -

도전과제 1

• 소리 크게 지르기 게임– 5m 거리에서 각각 1 초간 소리를 지르며 가장 큰

값을 화면에 출력하는 게임– 터치센서를 누르면 시작 , 1 초간 소리크기 측정– 측정된 소리와 현재까지 가장 큰 소리의 크기를

화면에 출력– 측정된 소리가 가장 크면 – “You Win” 과 soundFastUpwardTones 출력

– 그렇지 않으면 – “You Lose” 와 soundException 출력

– 터치센서를 다시 누르면 다음 사람이 측정을 반복

Page 14: -  보이스 로봇 (Voice Robot ) -

#pragma config(Sensor, S1, touch, sensor-Touch)#pragma config(Sensor, S2, sound, sensor-SoundDBA)

int curmax=0;int allmax=0;

task CurrentMaxSound(){ int csound=0; curmax=0; while(1) { csound=SensorValue(sound); if (csound>curmax) curmax=csound; }}

task main(){ while(1) { while(SensorValue(touch) ==0); while(SensorValue(touch) ==1);

StartTask(CurrentMaxSound); wait1Msec(1000); StopTask(CurrentMaxSound);

if (allmax < curmax) { allmax=curmax; PlaySound(soundFastUpwardTones); nxtDisplayBigTextLine(5, "You Win"); } else { PlaySound(soundException); nxtDisplayBigTextLine(5, "You Lose"); }

nxtDisplayTextLine(1, "Cur Max : %d", curmax); nxtDisplayTextLine(2, "Maxium : %d", allmax); }}

Page 15: -  보이스 로봇 (Voice Robot ) -

도전과제 2

• 소리 나는 쪽으로 고개 돌리기– 사운드 센서 2 개를 사람의 귀에 해당되도록 사람의

머리처럼 로봇을 제작하고 박수를 쳐서 소리가 나는 곳으로 고개를 돌리는 로봇을 만들자 .

– 사운드 센서가 50% 이상일 때 소리가 난 것으로 간주

– 왼쪽과 오른쪽 사운드 센서가 모두 100% 일 때는 소리를 내며 머리를 한 바퀴 회전한다 .