150 likes | 314 Views
- 보이스 로봇 (Voice Robot ) -. 사운드 센서. 사운드 센서는 데시벨 레벨 , 즉 , 소리의 크기 또는 강도를 감지한다 . 주변의 소리를 인식하여 소리의 크기를 0~100% 로 값을 변환한다. 사운드 센서 모드. 사운드센서는 2 가지 모드로 작동 dB(decibel) 모드 : 소리의 상대적인 크기를 나타내는 단위 Bell 단위가 너무 커서 10 분의 1( deci ) 로 줄인 단위로 사용
E N D
사운드 센서 • 사운드 센서는 데시벨 레벨, 즉, 소리의 크기 또는 강도를 감지한다. • 주변의 소리를 인식하여 소리의 크기를 0~100%로 값을 변환한다.
사운드센서 모드 • 사운드센서는 2가지 모드로 작동 • dB(decibel) 모드 : 소리의 상대적인 크기를 나타내는 단위 • Bell 단위가 너무 커서 10분의 1(deci)로 줄인 단위로 사용 • 저주파부터고주파까지 모든 소리를 감지하며 소리의 상대적인 크기를 나타내는 단위 인간이 듣기에 너무 높거나 낮은 소리 포함 • dBA(acoustic decibell) 모드 : 사람이감지할 수 있는 소리 크기에 맞춘 기준
사운드센서의 동작 (상태값) - View • 사운드센서 상태 값 확인 • NXT와 사운드센서 2번 포트로 연결 • NXT ‘view’ 메뉴 선택 • ‘sounddB’ 혹은 ‘sound dBA’ 선택 • 2번 포트 선택 • LCD 수치 확인 : 입김을 불거나 소리크기를 변형하면서 Sound 크기를 확인
사운드 센서의 응용 1 • 큰 소리에만 작동하는 로봇 • 사운드센서에 입력되는 소리가 크면(70이상) 전진하고, 작으면(70이하) 정지하는 로봇을 만든다. 터치센서를 누르면 로봇 행위는 종료한다. • (순서도)
사운드 센서의 응용 1 사운드센서에 입력되는 소리가 70이상인 동안 전진하고, 70보다 작아지면 정지
사운드 센서의 응용 2 • 입김으로 드리블 하는 로봇 • 소리 크기에 따라 전진, 우회전, 좌회전, 정지하는 로봇 • (순서도)
사운드 센서의 응용 3 • 박수소리 회수에 따라 움직이는 로봇
사운드 센서의 응용 3 void Turn(int);
도전과제 1 • 소리 크게 지르기 게임 • 5m 거리에서 각각 1초간 소리를 지르며 가장 큰 값을 화면에 출력하는 게임 • 터치센서를 누르면 시작,1초간 소리크기 측정 • 측정된 소리와 현재까지 가장 큰 소리의 크기를 화면에 출력 • 측정된 소리가 가장 크면 • “You Win” 과 soundFastUpwardTones출력 • 그렇지 않으면 • “You Lose”와 soundException출력 • 터치센서를 다시 누르면 다음 사람이 측정을 반복
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); } } #pragmaconfig(Sensor, S1, touch, sensorTouch) #pragmaconfig(Sensor, S2, sound, sensorSoundDBA) intcurmax=0; intallmax=0; task CurrentMaxSound() { intcsound=0; curmax=0; while(1) { csound=SensorValue(sound); if (csound>curmax) curmax=csound; } }
도전과제 2 • 소리 나는 쪽으로 고개 돌리기 • 사운드 센서 2개를 사람의 귀에 해당되도록 사람의 머리처럼 로봇을 제작하고 박수를 쳐서 소리가 나는 곳으로 고개를 돌리는 로봇을 만들자. • 사운드 센서가 50% 이상일 때 소리가 난 것으로 간주 • 왼쪽과 오른쪽 사운드 센서가 모두 100%일 때는 소리를 내며 머리를 한 바퀴 회전한다.